对于线程一:
1.上锁
2.wait
3.解锁
对于线程二:
1.上锁
2.signal
3.解锁
In Thread1:
pthread_mutex_lock(&m_mutex);
pthread_cond_wait(&m_cond,&m_mutex);
pthread_mutex_unlock(&m_mutex);
In Thread2:
pthread_mutex_lock(&m_mutex);
pthread_cond_signal(&m_cond);
pthread_mutex_unlock(&m_mutex);
为什么要与pthread_mutex 一起使用呢?
1.cond_wait函数解锁并等待是一个原子操作,不可以被打断。
2.等待函数返回之前,重新锁定,如果不锁定,其他线程可能会对这个线程进行修改。