pthread_cond_signal函数是否解锁了调用线程锁定的互斥锁?

时间:2011-04-05 13:22:13

标签: c++ pthreads mutex

当我在线程函数中调用'pthread_cond_signal'时,此调用是否会解锁我当前使用的互斥锁? (不是pthread_cond_wait正在等待的那个)。

2 个答案:

答案 0 :(得分:5)

只有释放给pthread_cond_(timed_)wait()的互斥锁才能让其他线程有机会改变条件。在pthread_cond_wait结束时,互斥锁再次被锁定。 没有其他功能锁定/解锁互斥锁

答案 1 :(得分:2)

不,它根本不解锁任何互斥锁。 pthread_cond_wait 解锁其互斥锁,当它退出时,互斥锁再次被锁定。