pthread_cond_wait中的while()不仅仅在等待条件变量前检查条件变量,实际上在等待条件变量后也检查条件变量。
这样对condition进行多做一次判断,即可避免“虚假唤醒”.
这就是为什么在pthread_cond_wait()前要加一个while循环来判断条件是否为假的原因。
参考文章:https://blog.csdn.net/fengge8ylf/article/details/6896380
pthread_cond_wait中的while()不仅仅在等待条件变量前检查条件变量,实际上在等待条件变量后也检查条件变量。
这样对condition进行多做一次判断,即可避免“虚假唤醒”.
这就是为什么在pthread_cond_wait()前要加一个while循环来判断条件是否为假的原因。
参考文章:https://blog.csdn.net/fengge8ylf/article/details/6896380