13-muduo-base-BoundeBlockingQueue
1 类说明
- 功能
- 就是一个缓冲区,队列(有容量限制),用
生产者-消费者模式。比BlockingQueue就多了一个容量限制,其余都一样
- 就是一个缓冲区,队列(有容量限制),用
- 继承
- 继承noncopyable
2 成员变量
- mutex_
- 锁,互斥使用队列
- notEmpty_
- 条件变量,用于同步消费者和生产者
- notFull_
- 条件变量,用于同步消费者和生产者
- queue_
- 使用的是boost的循环缓冲区:boost::circular_buffer< T >
3 成员函数
- 构造函数
- 初始化成员变量,初始化队列的最大容量
- put:生产者函数
- 若队列不满,上锁往队列push东西,条件变量唤醒消费者;队列满就等待
- take:消费者函数
- 配合锁和条件变量从队列中取出东西消费
- empty
- 返回缓冲区是否为空
- full
- 返回缓冲区是否已满
- size
- 返回队列中含有元素个数
- capacity
- 返回队列容量

浙公网安备 33010602011771号