ICDロゴ

スレッド (thread)

最終更新日: 2004/02/02

 マルチスレッド対応OSにおいて、CPUに実行時間を割り当てる単位。

 マルチタスクOSでは、実行するプログラムごとにプロセスを割り当て、このプロセスに仮想メモリ空間など、OSの資源を割り当てる。このときマルチスレッド対応のOSでは、CPUの実行時間はプロセス内に生成されたスレッド単位に割り当てる。つまりこのようなOSでは、1つのプロセスの内部で、複数のコードを実行することが可能である。同一プロセス内のスレッドは、プロセスの仮想メモリ空間やグローバル変数などを共有するので、スレッド間でのデータ交換などにかかるオーバーヘッドが非常に小さいというメリットがある。

 マルチスレッド対応OSでは、プロセス内で複数のスレッドを実行しない場合でも、CPU時間の割り当てはスレッドが単位になるので、プロセスが実行されると、自動的にスレッドを起動するようになっている。このようなスレッドは特にプライマリスレッド(primary thread)と呼ばれる。

プロセスとスレッド
プロセスとスレッド
プロセスはプログラムの実行単位であり、スレッドはCPUに実行時間を割り当てる単位。1つのプログラム中には1つもしくは複数のスレッドが含まれる。メモリはプロセスごとに割り当てられ、各スレッド間で共有する。これに対してレジスタのような、CPUのリソースはスレッド単位に割り当てる。システムに複数のCPUが装備されている場合は、スレッドごとに異なるCPUが割り当てられ、実行されるので、処理速度が速くなる可能性がある。

マルチスレッド
マルチスレッド

Copyright (C) 2000-2007 Digital Advantage Corp.

アイティメディアの提供サービス

キャリアアップ