多线程同步问题C++实现:生产者-消费者、读者-写者
生产者-消费者问题
全局互斥锁:mutex
条件变量:cv_produce, cv_consume
共享队列:queue
共享队列的最大容量:MAX_SIZE
注意细节:
使用uniqu_lock配合条件变量
cv_produce, cv_consume一开始处于wait等待状态,等待退出条件为共享队列是否为空或已满(排除虚假唤醒的情况)
consumer在消费完成之后使用cv_produce通知producer
producer在生成完成之后使用cv_consume通知consume
原创
2021-08-17 17:29:57 ·
632 阅读 ·
0 评论