pthread_cond_wait
int pthread_mutex_lock(&mutex);
int pthread_cond_wait(&cond,&mutex);
这两个函数一般是连着使用的。
上锁之后,线程执行相应operation,并判断条件➡️是否要wait
cond 是 pthread_cond_t 类型的变量,但是它与条件无关
私以为这个变量用于将使用了该函数的线程进行关联
执行wait这个函数时线程会挂起,并释放锁,但注意🔺在被唤醒后会尝试获得锁!!!
也就是说执行后还要记得释放锁!
pthread_cond_signal/broadcast
int pthread_cond_signal(&cond)
int pthread_cond_broadcast(&cond)
**pthread_cond_signal ** 用于唤醒一个挂起的线程(一般按照优先级否则随机,根据操作系统的不同可能唤醒多个线程
pthread_cond_broadcast 用于唤醒所有在cond挂起的线程
作用
两个函数的作用其实就是实现了一个等一等的操作