スレッドを実行する前に、最初にスレッドをスリープさせるにはどうすればよいですか?スリープを機能させる方法は知っていますが、プログラムを実行すると、スレッドはすぐに実行されます。実行を開始するために最初に作成されたら、待機させたいです。(私はハンドラーを使用しています)
質問する
110 次
2 に答える
1
スレッドがいつスケジュールされるかを制御することはできません。スリープ状態にしたい場合は、スレッドサブルーチンの最初のステートメントで条件などを待機させ、準備ができたらその条件にブロードキャストできます。擬似コードの場合:
get-lock
if (we-are-still-supposed-to-sleep)
pthread_cond_wait()
release-lock
子を作成している間、親にロックを保持させることができると思います。そうすれば、子が行う必要があるのは次のとおりです。
get-lock
release-lock
条件のことは避けてください。
于 2011-05-24T23:12:28.317 に答える
0
どのOS?Windozeを使用すると、中断状態のスレッドを作成できます。ctorにスレッドフィールドをロードしたら、スレッドを再開できます。それができない場合は、新しいスレッドが待機するように、スレッド開始パラメーターにいくつかの同期オブジェクトを渡します。
Rgds、マーティン。
于 2011-05-25T00:03:10.267 に答える