IT資格用語解説基本情報技術者試験・タスク管理
スレッド
更新日:
用語解説
スレッドは、プロセス内にあるCPUスケジューリング上の実行の流れです。同じプロセスのスレッドはコード、ヒープ、ファイルなどを共有し、各スレッドは個別のプログラムカウンタ、レジスタ、スタックをもちます。
■ 試験で押さえるポイント
プロセス間より資源共有と生成・切替えが軽量で、応答処理、並行入出力、複数コアの利用に適します。
共有メモリへ同時アクセスすると競合状態が起こるため、mutex、セマフォ、条件変数などで同期します。
一つのスレッドの不正なメモリアクセスは同じプロセス全体へ影響しやすく、プロセス間のような強い隔離はありません。
並行は処理が重なって進む概念、並列は複数コアなどで物理的に同時実行する概念で、単一コアでも複数スレッドは並行実行できます。
■ 選択肢での判断ポイント
プロセスとの資源共有範囲、スレッド固有のスタック、競合・排他制御、並行と並列を問う問題が頻出です。
例: Webサーバが要求ごとにスレッドを使うと、設定やキャッシュを共有しながら複数要求を処理できます。