問題
プロセスとスレッドの違いとして正しいものはどれか。
選択肢
- 1ア プロセスはメモリ空間を共有し、スレッドは独立している
- 2イ スレッドは同一プロセス内でメモリを共有して動作する実行単位
- 3ウ プロセスとスレッドは同じものである
- 4エ スレッドはOSごとに1つしか作成できない
正解
2. イ スレッドは同一プロセス内でメモリを共有して動作する実行単位
詳しい解説を見る解説を閉じる
解説
プロセスはOSから独立したメモリ空間などの資源を割り当てられる実行単位であり、スレッドはそのプロセス内部で動く、より小さな実行の流れである。同一プロセス内のスレッド同士はメモリ空間を共有するため、生成や切替えのオーバヘッドが小さく軽量である。よってイが正解である。アは説明が逆で、独立したメモリ空間を持つのはプロセスの方である。ウのように両者は同一ではなく、エも誤りで1つのプロセス内に複数のスレッドを生成できる(マルチスレッド)。スレッドが軽量である理由(メモリ空間の切替えが不要)と、メモリを共有するゆえに共有データへの排他制御が必要になる点が、科目Aで繰り返し問われる頻出ポイントである。
一問一答
科目A 180問+科目B 60問