ひとつのプログラムのなかで、複数の作業を同時に並行して実行する仕組みを
マルチスレッドといいます。
Windows自体がマルチスレッドですから、
簡単なプログラムでは自分のプログラム自体を
マルチスレッドにする必要はあまりありません。
たとえば、自分のプログラムが永久ループを始めて止まらなくなっても、
DOS画面にもどって CTRL+C を押せば、
プログラムを止めることが出来ます。
Java言語では、マルチスレッドを簡単にプログラムすることができます。
単純なプログラムでは、マルチスレッドのありがたみが理解しにくいのですが、
アニメーションや、探索問題など計算時間(コンピュータの処理時間)が長い
プログラムでは、同時並行処理が必要になります。
ここではアニメーションを例題として、
Javaのマルチスレッド機能の概略を紹介します。
アニメーションを動かしながら、ボタンがクリックされた処理をするといった 「 並行処理 」
をする仕組みを 「 マルチスレッド 」 といいます。
マルチスレッドにするには、
- Tread クラスを継承したクラスを書き、 run メソッドをオーバーライドするか、
- Runnable インターフェースを実装したクラスに、run メソッドを書く
のいずれかの方法をとります。いずれの場合も、run メソッドを定義したクラスのインスタンスを生成し、
start メソッドを呼び出すと、 run メソッドが並行して走り始めます。
run メソッドや start メソッドにはパラメタを指定できません。
必要ならば、インスタンス変数にし、コンストラクタのパラメタを介して設定します。