我有两个条件变量:
CondVar1
CondVar2
在这样的两个线程中使用(伪代码):
// thread1 starts in 'waiting' mode, and then Thread2 signals
void Thread1()
{
CondVar1->Wait();
CondVar2->Signal();
}
void Thread2()
{
CondVar1->Signal();
CondVar2->Wait();
}
这会导致死锁吗?意思是,thread1 等待,thread2 发出信号,然后thread1 可以在thread2 进入Wait() 之前发出信号,意思是thread2 永远不会返回?
谢谢