0
ただ、これは物事の正しい方法であるかどうかを確認したかった。スレッドCond。これは正しいC++の方法ですか?
Thread A {
pthread_lock_mutex(&mutex);
while(flag_set())
pthread_cond_wait(&cond, &mutex);
read_file();
pthread_unlock_mutex(&mutex);
}
Thread B{
pthread_cond_signal(&cond);
}
申し訳ありませんが、私はスレッドに非常に新しいです。
は、このC/C++です?私はあなた自身が「ロックする」という意味を理解していません。あなたは、スレッドがビジーである間に、望ましい動作を詳述できますか?私は*私はあなたが彼の入力*、あなたは非同期タスクを開始するイベントハンドラを使用しているときに、この時間がかかる作業を実行する最初のスレッドをしたいと思いますか?私は短い答えは「いいえ」と信じていますが、スレッドにスリープ状態(.net)を伝えることができます。 – IAbstract
ブロッキングキューを使用して、他のスレッドが 'enqueue()'するのを待っている 'dequeue()'をブロックすることができます。 –