class TJRunnable
スレッドにより実行されるプログラムのインタフェースを規定する抽象クラス
文書
スレッドにより実行されるプログラムのインタフェースを規定する抽象クラス.TJRunnable は,スレッドにより実行されるプログラムの共通のプロトコル を規定するためにあり,run() メソッドがそのプログラム本体である.スレッドが run() を実行中の時,そのスレッドは alive であるという.
TJRunnable オブジェクトを TJThread オブジェクトに渡した場合, TJThread の start() メソッドを呼び出すことによって, run()が 呼び出される.
* * class MyRunnable : public TJRunnable { * ・・・・ * public: * ・・・・ * void run() { * ・・・・ // implement TJRunnable::run() * } * }; * * MyRunnable* runnable = new MyRunnable; * TJThread* thread = new TJThread(runnable, "myname"); * thread->start(); // MyRunnalbe::run() が thread によって実行される * ......... * thread->join(); // 必要であれば終了待ち合わせ * *run() の終了は,他のスレッドが TJRunnable をターゲットとする TJThread の join() メソッドで待ち合わせることができる. run() をそのまま抜ければ join() で受け取る 終了コードは 0 である.明示的に終了コードを join() に渡すには, run() の終了時に TJThread::exit(int) を呼び出せばよい.
TJRunnable を使用せずに, TJThread を直接サブクラス化してもスレッド本体 を表現できる(TJThread 参照).TJRunnable を使用する利点は,1つの TJRunnable オブジェクトを複数の TJThread オブジェクトで共用できる 点である.
Java の仕様と違い,TJThread 自身は TJRunnable を継承しない. これは,TJThread コンストラクタに TJThread を渡すというミスを防ぐ 意味がある.
TJThread と TJRunnable の使い分けについては,TJThread を参照すること.
- 子クラスは存在しません
- 作者 :
- Susumu TOKUI @date 1998,6/1
- 参照 :
- TJThread
索引(アルファベット順) HTMLクラス継承 または Java
This page was generated with the help of DOC++.