03.webserver源码阅读--threadPool
00.webserver源码阅读--buffer - DavidJIAN - 博客园 (cnblogs.com)
01.webserver源码阅读--BlockQueue - DavidJIAN - 博客园 (cnblogs.com)
02.webserver源码阅读--log - DavidJIAN - 博客园 (cnblogs.com)
threadPool
线程池。
成员变量
- 内部类pool
- m_mutex:互斥变量
- m_cond:条件变量
- shutdown:线程是否关闭
- task_q:任务队列,其中元素为std::function<void()>。(219条消息) C++语法——std::function 使用_Anas_南的博客-CSDN博客_c++ std::function
- 指向内部类pool类型的shared_ptr
成员函数
-
构造函数
- 传入线程个数。explicit:C++中explicit的用法_观赏的博客-CSDN博客_c++ explicit
- 创建线程,线程函数为lambda表达式(从队列中取任务进行消化),然后detach
-
析构函数
- 置shutdown为true
- m_cond.notify_all()。唤醒所有线程(进行收尾工作)。
-
移动构造函数
- default。C++11移动构造函数详解 (biancheng.net)
-
add_task
- 往任务队列添加任务

浙公网安备 33010602011771号