2 つの条件変数があります。
CondVar1
CondVar2
次のような 2 つのスレッドで使用されます (疑似コード):
// thread1 starts in 'waiting' mode, and then Thread2 signals
void Thread1()
{
CondVar1->Wait();
CondVar2->Signal();
}
void Thread2()
{
CondVar1->Signal();
CondVar2->Wait();
}
これはデッドロックを引き起こす可能性がありますか? つまり、スレッド1が待機し、スレッド2がシグナルを送信し、スレッド2がWait()に入る前にスレッド1がシグナルを送信できます。つまり、スレッド2は決して戻りませんか?
ありがとう