一、线程同步
两个或两个以上随着时间变换,值的变化过程保持一定的相对关系
二、条件变量
1、条件变量API
等待:wait(cv, mutex)
单个唤醒:signal/notify(cv)
所有都唤醒:broadcast/notify(cv)
2、生产者与消费者关系实现
生产者:任务队列不满,上锁、加任务队列
消费者:任务队列不空,上锁、释放一个任务
三、信号量
等待信号量(信号量值不为零)信号量减一
释放信号量,信号量值加一
一、线程同步
两个或两个以上随着时间变换,值的变化过程保持一定的相对关系
二、条件变量
1、条件变量API
等待:wait(cv, mutex)
单个唤醒:signal/notify(cv)
所有都唤醒:broadcast/notify(cv)
2、生产者与消费者关系实现
生产者:任务队列不满,上锁、加任务队列
消费者:任务队列不空,上锁、释放一个任务
三、信号量
等待信号量(信号量值不为零)信号量减一
释放信号量,信号量值加一