最近在看陈硕的muduo网络库,书中一直提到一个概念:one loop per thread,一直不是很理解,看完了源码之后自己梳理了一下,有所感悟,图解一下one loop per thread思想.
主线程属于main loop,创建listenfd,创建listenfd的可读回调函数,该回调函数执行accept返回交流套接字,同时new一个http对象(与交流套接字绑定),添加进thread loop,从此这个交流套接字由thread loop负责,进行响应。
main loop只负责响应新的客户端连接,客户端与服务端的交流在thread loop中完成。