Linux网络编程:事件处理模式与并发编程模式

本文探讨Linux网络编程中的事件处理模式,包括Reactor和Proactor模式,以及并发编程模式,如同步异步、半同步/半异步模式和领导者-追随者模式。重点介绍了如何使用同步I/O模拟Proactor模式,并详细阐述了各模式的工作流程。
摘要由CSDN通过智能技术生成

还是游双大佬的《高性能Linux服务器编程》

事件处理模式

服务器端主要需要处理三类事件,I/O事件,定时事件和信号
对于这些事件的处理,可以分成两种模式,也就是两种方法。

Reactor模式 — 异步I/O

主线程(IO处理单元)只负责监听文件描述符上是否有事件发生,有的话立即通知工作线程(逻辑单元),读写数据、接受新连接及处理客户请求均在工作线程中完成。通常由同步I/O实现。

注意:区分同步异步IO的准则就是判断是就绪还是完成,就绪就是同步,完成就是异步。
在这里插入图片描述
也就是说,主线程就负责喊号,怎么做,你们的事情。

Proactor — 异步I/O

主线程和内核负责处理读写数据、接受新连接等I/O操作,工作线程仅负责业务逻辑,如处理客户请求。通常由异步I/O实现。

在这里插入图片描述
也就是老板帮忙处理食材,大厨只管炒就行了。

同步I/O模拟Proactor模式

由于异步I/O并不成熟

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值