码迷,mamicode.com
首页 > 其他好文 > 详细

pthread_cond_wait虚假唤醒

时间:2019-01-21 21:06:45      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:多线程   amp   线程等待   条件   condition   条件变量   cond   mutex   避免   

  pthread_cond_wait中的while()不仅仅在等待条件变量前检查条件cond_is_false是否成立,实际上在等待条件变量后也检查条件cond_is_false是否成立。在多线程等待的情况下,这样对condition进行多做一次判断,即可避免“虚假唤醒”。

pthread_mutex_lock(&mutex);

while(cond_is_false)

  pthread_cond_wait(&cond, &mutex);

pthread_mutex_unlock(&mutex);

pthread_cond_wait虚假唤醒

标签:多线程   amp   线程等待   条件   condition   条件变量   cond   mutex   避免   

原文地址:https://www.cnblogs.com/qihualin-1024/p/10300653.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!