哪一个是正确的? 1。
pthread_mutex_lock
...
pthread_cond_broadcast
pthread_mutex_unlock
2
pthread_mutex_lock
...
pthread_mutex_unlock
pthread_cond_broadcast
我知道在解锁到广播期间可能会更改第二个条件。 但是第一个问题是什么呢?线程被阻止了? 是否有一些代码在第一个中显示问题? 谢谢
答案 0 :(得分:0)
第一个序列工作正常。在锁定互斥锁后应调用pthread_cond_broadcast()
,并且必须解锁互斥锁才能完成pthread_cond_wait()
例程。
您可以在此处找到进一步说明:https://computing.llnl.gov/tutorials/pthreads/#ConVarOverview