Runnableインターフェイス
Runnableインターフェイスと run()メソッドについて解説します。
今までのイベント処理などは、
全てAppletクラスにあらかじめ用意されていた
機能を利用して実現しました。
ところが、
Appletクラス自体には
Thread を取り扱う機能は用意されていません。
Threadを使ったアプレットを作るためには、
インターフェイス Runnableを「インプリメント」します。
プログラムの実例で見てみましょう。
public class Clock extends Applet implements Runnable {
Runnableの内部にデータとして用意されているのは、
run()という名前のメソッドだけです。
しかも定義されているのは名前のみで、その内容は全く存在しません。
このようなメソッドを abstract なメソッドと呼びます。
public interface Runnable {
public void run();
}
このメソッドは Thread によって実行される処理の内容になります。
Runnableによって追加されるのは、Threadのオブジェクトではありません。
Threadのオブジェクトは Runnable をインプリメントしたクラス
(たとえばアプレット)の定義の中で用意します。
run()の内容も、あらためて内容を実装されることになります。
public class Clock extends Applet implements Runnable {
public Thread thread; //スレッドのオブジェクトを用意
:
:
public void run() {
/* 独立したスレッドとして実行する処理の内容 */
}
}