muduo网络库base篇四:生产者/消费者

  • Post author:
  • Post category:其他


muduo网络库base篇四:生产者/消费者

生产者与消费者模式是解决并发的有效手段。muduo实现了两种缓冲队列:有界缓冲队列和无边界缓冲队列



无界缓冲队列

无边界缓冲队列BlockingQueue比较简单,成员数据如下:

mutable MutexLock mutex_;

Condition notEmpty_;

std::deque queue_;



有界缓冲队列

有界缓冲队列BoundedBlockingQueue类成员数据如下:需要两个条件变量

mutable MutexLock mutex_;

Condition notEmpty_;

Condition notFull_;

boost::circular_buffer queue_;