スレッド
マルチスレッド対応OSにおいて、CPUに実行時間を割り当てる単位。
マルチタスクOSでは、実行するプログラムごとにプロセスを割り当て、このプロセスに仮想メモリ空間など、OSの資源を割り当てる。
このときマルチスレッド対応のOSでは、CPUの実行時間はプロセス内に生成されたスレッド単位に割り当てる。
つまりこのようなOSでは、1つのプロセスの内部で、複数のコードを実行することが可能である。
同一プロセス内のスレッドは、プロセスの仮想メモリ空間やグローバル変数などを共有するので、スレッド間でのデータ交換などにかかるオーバーヘッドが非常に小さいというメリットがある。
マルチスレッド対応OSでは、プロセス内で複数のスレッドを実行しない場合でも、CPU時間の割り当てはスレッドが単位になるので、プロセスが実行されると、自動的にスレッドを起動するようになっている。 Clone (Linux system call)
Communicating sequential processes
Computer multitasking
Message passing
Multi-core (computing)
Multithreading (computer hardware)
Non-blocking algorithm
Priority inversion
Protothreads
Simultaneous multithreading
Thread pool pattern
Thread safety
Win32 Thread Information Block