next up previous contents
Next: 簡単なサンプル Up: 応用 Java Application Previous: 演習課題

Thread

Threadを言語仕様の中でサポートしていることは、Javaの大きな特徴の一つ です。Javaのプログラミングで、このThreadの機能をどのように生かして 使うかは、プログラマにとって大事な問題です。

見かけ上、コンピュータは、沢山の仕事を同時にしているように見えます。 「見かけ」上の沢山の仕事も、よく見れば、それぞれ基本的な構成要素に分割する ことが出来ます。コンピュータの行う仕事のうち、こうして取り出された基本的な 要素が「スレッド」です。

「スレッド」のレベルでは、ある時点で実行可能な動作は、一意に決まります。 「スレッド」は、二つ以上の動作を実行することは出来ず、sequentialな制御の流れ に従います。その意味では、sequential なプログラムと、スレッドとの区別は、 あまりありません。

スレッドとプログラムの違いを考える時、次の二つのことが大事なポイントになり ます。第一は、スレッドは、単独では生存できずに、必ず、プログラムのなか で生きているということです。第二は、プログラムには、単純な sequential な プログラムだけではなく、multi-threaded なプログラムがあるということです。

実行されているプログラムは、「プロセス」と呼ばれますが、それとの対比で、 スレッドは、lightweight process と呼ばれることがあります。文字どうり、 「軽いプロセス」という意味です。





maruyama@wakhok.ac.jp