多线程阻塞I/O模型和I/O多路复用

本文探讨了多线程阻塞I/O模型与I/O多路复用的区别与优缺点。多线程模型中,每个线程对应一个连接,虽然响应及时但线程利用率低。而I/O多路复用如epoll,通过一个线程处理多个IO事件,提高了效率,尤其适用于边缘触发模式下非阻塞IO的操作。I/O复用主要在数据准备阶段发挥作用,降低了系统资源的消耗。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

多线程阻塞I/O模型

每一个线程处理一个fd连接。
优点是:处理及时
缺点是:线程利用率低,主要消耗在数据准备阶段的阻塞
在这里插入图片描述

I/O多路复用

用一个线程来检测多个io事件
在这里插入图片描述

  • io复用不仅用来检测readwritebuffer,还可以检测连接状态握手挥手半关闭,keepalive
    检测的是状态
  • 多路复用作用在数据准备阶段,其他IO函数只需要作用在数据拷贝阶段
  • 由于使用边缘触发时,io函数只能是非阻塞的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值