条件变量与互斥锁解析

互斥锁

相关函数:pthread_mutex_init pthread_mutex_destroy
pthread_mutex_lock pthread_mutex_unlock
互斥锁是一种特殊的信号量 只有0和1,而信号量则可以很大
主要作用,关键段代码保护,防止别的线程在关键段运行的时候访问和操作。
上锁后,别的线程暂时就不会上锁,会被阻塞住,直到锁解开后

条件变量

相关函数:pthread_cond_init pthread_cond_destroy
pthread_cond_wait pthread_cond_signal/pthread_cond_broadcast
条件量和互斥锁是配合使用的,因为条件变量需要等待唤醒,防止别的线程在阻塞的时候对该线程的关键段进行操作
关键:阻塞和唤醒

你可能感兴趣的:(Linux)