本文主要是介绍muduo网络库学习之BlockinngQueueT类、ThreadPool 类、Singleton类封装中的知识点,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、BlockinngQueue<T>类、BoundedBlockingQueue<T>类
生产者消费者问题,可以用信号量+互斥锁 或者 条件变量+互斥锁 来解决,还分为有界和无界缓冲区两种情形,如下图:
有界缓冲区:
生产者:
信号量+互斥锁:1,2,3,4,5
条件变量+互斥锁:2,1,3,5,4(外框)
消费者:
信号量+互斥锁:1,2,3,4,5
条件变量+互斥锁:2,1,3,5,4(外框)
无界缓冲区:
这篇关于muduo网络库学习之BlockinngQueueT类、ThreadPool 类、Singleton类封装中的知识点的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!