pthread_cond_wait虚假唤醒

Posted qihualin-1024

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pthread_cond_wait虚假唤醒相关的知识,希望对你有一定的参考价值。

  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虚假唤醒的主要内容,如果未能解决你的问题,请参考以下文章