学习muduo库(5)之线程池类ThreadPool

UML:

学习muduo库(5)之线程池类ThreadPool

这是一个十分重要的类,这个类中维护了两个队列,一个是任务队列,一个是线程队列。我们将任务放到任务队列中,线程队列从任务队列中不断地读取任务。线程队列的尺寸是自己定义的,所以线程队列是一个大小固定的队列。任务队列是一个std::deque,我们可以设置它的最大尺寸。两个条件变量是用来优化任务队列的读写的,类似于BoundedBlockingQueue