Skip to content.

Sections
Personal tools
You are here: Home » ダウンロード » ThreadJack用 » doc » TJRunnable

Document Actions

class TJRunnable

スレッドにより実行されるプログラムのインタフェースを規定する抽象クラス

Public メソッド

[more]virtual void run()
スレッド本体のインタフェース

文書

スレッドにより実行されるプログラムのインタフェースを規定する抽象クラス.

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 を参照すること.

virtual void run()
スレッド本体のインタフェース.

スレッドによって実行されるプログラムのエントリポイント となる.

参照 :
run()
start()


子クラスは存在しません
作者 :
Susumu TOKUI @date 1998,6/1
参照 :
TJThread

索引(アルファベット順) HTMLクラス継承 または Java



This page was generated with the help of DOC++.