スレッド()とは、
CPU利用の単位。
プロセスに比べて、プログラムを実
行するときの
コンテキスト情報が最小で済むので切り替えが早くなり、ライトウェイトプロセスとも呼ばれる。
スレッドは、thread of execution(実
行の脈絡)という言葉を省略したものである。
プログラミングの観点からみると、アプリケーションの処理の「実
行の脈絡」は1つでないことが多い。これを
シングルスレッドで実現しようとするとシグナルやタイマーを駆使して
コーディングすることになる。また、複数の
プロセスに分割して
プロセス間通信で協調動作させるという方法もある。しかし、いずれの場合もそれらの機能を使うための余分な、本来の
アルゴリズムと関係ない
コーディングが必要となる。
スレッドを使用したプログラミングは本来の
アルゴリズムに集中しやすくなり、プログラムの構造が改善されるという効果がある。