mutex:为了保护条件变量而存在的;
cond:为了线程通信而存在的。
整个机制都是为了保护条件变量和线程间通信而存在的。
pthread_cond_wait()函数一进入wait状态就会自动release mutex
pthread_cond_wait() 一旦wait成功获得cond 条件的时候会自动 lock mutex.
分为三个操作:
1)检查条件(需要加索保护);
2)修改条件(需要加索保护);
3)睡眠状态(不需要保护)。