Qraft(クラフト) 資格・学習クイズアプリ

基本情報技術者試験 練習問題 2:プロセスとスレッドの違いと特性

プロセスとスレッドについて述べた文として、最も適切なものはどれか。

  1. プロセスはOSに管理される実行単位であり、独立したメモリ空間を持つ。スレッドはプロセス内の実行単位で、メモリ空間を共有する。
  2. スレッドはプロセスより高速に実行されるため、すべてのアプリケーションは複数スレッドで構築されるべきである。
  3. マルチプロセッシングはマルチスレッドより必ず高速であり、実務ではマルチスレッドは使用されない。
  4. 1つのプロセスは複数のスレッドを持つことができないため、並列処理にはマルチプロセッシング方式のみが使用される。
  5. スレッドはプロセスの外側で独立して実行されるため、プロセスの強制終了の影響を受けない。
正解と解説を見る
正解:プロセスはOSに管理される実行単位であり、独立したメモリ空間を持つ。スレッドはプロセス内の実行単位で、メモリ空間を共有する。

プロセスとスレッドはOSの実行単位として重要な概念です。

プロセスはOSが管理する独立した実行単位で、各プロセスは独立したメモリ空間(コード領域、データ領域、ヒープ、スタック)を持ちます。異なるプロセス間ではメモリが保護され、相互に干渉しません。

スレッドはプロセス内の実行単位で、同一プロセス内の複数スレッドは同じメモリ空間を共有します。スレッド間の切り替えはプロセス間の切り替えより高速です。

正しいのは「プロセスはOSに管理される実行単位であり、独立したメモリ空間を持つ。スレッドはプロセス内の実行単位で、メモリ空間を共有する」という説明です。

マルチスレッドはコンテキストスイッチのオーバーヘッドが小さく、メモリ効率が良いため広く使用されています。ただし同じメモリ空間を共有するため、スレッド間同期やデータレース対策が必要です。

← 前の問題問題一覧次の問題 →
アプリで解いてレーティングを上げる(無料・登録不要)