pthread_cond_broadcast和pthread_cond_wait的使用
关于Posix通用线程的概述请参考 POSIX 线程详解
1. Pthread_cond_broadcast的位置
pthread_cond_broadcast和pthread_cond_wait的使用有这样的一篇:
http://fengmenghello.blog.163.com/blog/static/1646203302010718101712356/
笔者建议在Linux上pthread_cond_broadcast放在lock/unlock中间,但是从我的使用经验来看,放在中间可能会导致等待的线程比较晚解锁。
2. Pthread_cond_wait的使用
pthread_cond_wait已经包含了unlock, wait, lock的动作,所以在其前面不需要加unlock, 在后面不需要加lock。可以直接和 pthread_mutex_unlock配对。