pthread_cond_wait 之前的 pthread_mutex_lock 语句 有什么作用,可以不用吗?
pthread_mutex_lock(&m_mutex);
pthread_cond_wait(&m_cond,&m_mutex);
pthread_mutex_unlock(&m_mutex);
在一个生产者多个消费者的情况下,pthread_mutex_lock(&m_mutex);有什么用处.
如果有pthread_mutex_lock(&m_mutex),
那么一个线程阻塞在pthread_cond_wait(&m_cond,&m_mutex);
而其他线程却阻塞在pthread_mutex_lock(&m_mutex)上.
pthread_cond_broadcast(&m_cond);之后
等pthread_cond_wait(&m_cond,&m_mutex);阻塞返回
等另外一个线程突破pthread_mutex_lock(&m_mutex);却已经没有了条件变量的信号.
如果不用pthread_mutex_lock(&m_mutex);,会有什么后果?????
pthread_mutex_lock(&m_mutex);是必须用的吗??