8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

调用 pthread_cond_signal 而不锁定互斥锁

Sarin Jacob Sunny 3月前

69 0

我从某处读到,我们应该在调用 pthread_cond_signal 之前锁定互斥锁,并在调用它之后解锁互斥锁:pthread_cond_signal() 例程用于发出信号(或唤醒)另一个……

我在某处读到我们应该 在调用 互斥锁 pthread_cond_signal 并在调用它之后解锁互斥锁:

pthread_cond_signal() 例程用于向另一个正在等待条件变量的线程发送信号(或唤醒)。应在互斥锁锁定后调用此例程,并且必须解锁互斥锁,pthread_cond_wait() 例程才​​能完成。

在不锁定互斥锁的情况下 pthread_cond_signal pthread_cond_broadcast 不行吗

帖子版权声明 1、本帖标题:调用 pthread_cond_signal 而不锁定互斥锁
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由Sarin Jacob Sunny在本站《linux》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 可以创建示例代码,其中在 pthread_mutex_unlock 之后调用 pthread_cond_signal 可能会导致唤醒丢失,因为信号被“错误”线程捕获,该线程在看到谓词的变化后被阻塞。这只有在同一个条件变量可用于多个谓词并且您不使用 pthread_cond_broadcast 时才会出现问题,无论如何,这是一种罕见且脆弱的模式。

返回
作者最近主题: