muduo网络库——详解muduo多线程模型

本文详细探讨了muduo网络库中的多线程模型,包括单线程Reactor、线程池和多线程Reactor等多种方案。强调了避免在事件回调中执行耗时操作的重要性,并介绍了如何利用线程池处理阻塞操作和计算任务,以提高系统性能和响应速度。
摘要由CSDN通过智能技术生成

6.3

    非阻塞网络编程应该用边沿触发(ET)还是电平触发(LT)?如果是电平触发,那么什么时候关注POLLOUT事件?会不会造成busy-loop?如果是边沿触发,如果和防止漏读造成的饥饿?

epoll一定比poll快么?

 

6.4 

      在finger的测试程序中,没有设置onConnection这个函数,就可以连接?

 

6.6 详解muduo多线程模型

      方案0: accept+read/write  一次服务一个客户

      这个不是并发服务器。

 

     方案1: accept+fork()        process-per-connection

      这个是传统的UNIX并发网络编程方案,也叫process-per-connextion。这种方案适合并发连接数不大的情况。“计算响应的工作量大于fork()的开销" 每一个连接开启一个进程来处理

     

      方案2:accept+thread      thread-per-connection

        同样适合长连接,每一个连接开启一个线程,相对于方案1来说,开销是小了一点,但是对于多个并发连接,也是不合适的,线程数目太多,线程上下文切换也是需要很多时间的!

       

        方案3:perfork() 在UNP中存在

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值