マルチスレッドとは?まるちすれっど
マルチスレッドとは、1つのプロセスの中に複数の実行の流れ(スレッド)を持たせ、同じメモリ空間を共有したまま並行に処理を進める方式。切替えのときにメモリ空間の対応表を入れ替えずに済むため、プロセスの切替えより負荷が小さい。共有が前提なので、同じ変数を更新しうる箇所には排他制御が要る。
最終更新:2026-10-07
高度試験の午前Iを最短で暗記する →背景
処理を分けたいだけならプロセスを増やせばよいが、プロセス間はメモリが分離されているためデータの受け渡しにOSを介した通信が必要になり、その費用が処理そのものを上回ることがある。共有してよいデータは共有したまま並行に動かす単位として、プロセスより軽いスレッドが用意された。
具体例
Webサーバは接続ごとにスレッドを割り当て、あるスレッドがデータベースの応答を待っている間に別のスレッドが応答を返す。似た名前のハイパースレッディング(Intelの同時マルチスレッディング)は、1つのコアにレジスタ一式を2組持たせるハードウェア側の仕組みで、層が異なる。
試験での引っ掛け
メモリ空間を共有するのがスレッド、独立しているのがプロセスであり、1つのスレッドの異常終了はプロセス全体を巻き込む。また並行(時分割で交互に進む)と並列(複数コアで同時に進む)は別概念で、コアが1つならスレッドを増やしても処理量そのものは増えない。
関連用語
出典・参考
公式シラバスの2 コンピュータシステム > 1. オペレーティングシステム > (4) タスク管理に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。