muduo线程池的特点为:one loop per thread
那么如何理解one loop per thread呢?
首先要明白大的方向:main loop只负责响应新的客户端连接,客户端与服务端的交流在thread loop中完成。
然后上图理解:
其中,主线程属于main loop,创建listenfd,创建listenfd的可读回调函数,该回调函数执行accept返回交流套接字,同时new一个http对象(与交流套接字绑定),添加进thread loop,从此这个交流套接字由thread loop负责,进行响应。