采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师为什么主事件循环和从事件循环干的是不同的事,不是都调用EventLoop::run函数吗?这种有回调函数的代码有点复杂,该怎么理清调用关系呢?
主事件循环 在启动的时候就已经决定了它监听lisentfd只做新连接的分配工作,它的可读回调绑定在
TcpServer::newconnection
而这个TcpServer::newconnection 通过取余的方式分配了新连接的clientfd到subloops_线程池中,现在是线程池有多大就有几个Eventloop一一对应,而线程池的每个线程执行多少任务完全完全taskqueue_的大小,现在只是在TcpServer构造函数中创建从事件循环时候addtask了一个事件循环的EventLoop::run,
再可以看下 从循环 和主循环绑定回调函数是完全不一样的 从循环没有管新连接上来的客户端,它只管了onmessage close error sendcomplete
想真正理解课程内容,至少要把全部的代码写两遍。
登录后可查看更多问答,登录/注册
具备“三高”框架设计能力,突破高级工程师技术瓶颈
173 5
207 4
140 3
154 3
166 2