两个线程在调用boost :: mutex :: lock()时阻塞

时间:2011-10-05 20:56:31

标签: c++ boost-thread

我有一个boost :: mutex用于两个线程。第一个线程是不断锁定和解锁互斥锁。第二个线程仅在某种条件下使用互斥锁。发生这种情况时,两个线程都会阻塞锁定。什么可能导致这种情况?

关于我的程序的一些随机事实:互斥体是两个线程之间共享的类的数据成员。在第二个线程中,我将指向互斥锁的指针传递给使用它的函数,但在第一个线程中我通过引用使用互斥锁。

1 个答案:

答案 0 :(得分:1)

您是否记得在发出状况信号后解锁主线程中的互斥锁?或者,你是否陷入僵局?