常见的并发网络服务程序设计方案

本文总结了陈硕老师关于Linux多线程服务端编程中介绍的12种并发服务器模型,涵盖从传统的进程每次连接到IO多路复用的方案,如reactor模式、线程池和多线程Reactor。重点讨论了如何在并发场景下平衡IO与计算任务,以及确保响应顺序和资源利用率。
摘要由CSDN通过智能技术生成

摘要陈硕老师的“Linux多线程服务端编程 - 使用muduo C ++网络库”12种并发服务器模型,特整理于此,备学习使用。

 

 

     方案0:接受+读/写一次服务一个客户

      这个不是并发服务器。

 

     方案1:接受+ fork()进程每个连接

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

     

      方案2:接受+线程每个连接线程

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

       

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

 

        方案4:预先在UNP中存在

 

       方案3和方案4是分别对

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值