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
    • 返回队列容量
posted @ 2023-05-04 14:59  DavidJIAN  阅读(7)  评论(0)    收藏  举报