Linux网络编程:IO模型,IO多路复用思想

本文介绍了Linux下的各种IO模型,包括阻塞I/O、非阻塞I/O、信号驱动IO、IO复用和异步I/O。重点讨论了IO多路复用技术,如select、poll和epoll,并分析了它们的优缺点,强调epoll在处理大量并发连接时的高效性。

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

参考书籍《后台开发 核心技术与应用实践》《Linux高性能服务器编程》 《APUE》

之前唠到了socket,唠到了怎么建立连接。
这篇文章就唠一下,怎么向socket中写数据,怎么从socket中读出数据以及高效的读写----多路IO复用技术

I/O模型介绍

阻塞I/O

门口坐着瞅(阻塞)------(一直到)来了老弟------------办事

调用者调用了某个函数,等待这个函数返回,期间什么也不做,不停的去检查这个函数有没有返回,必须等这个函数返回才能进行下一步动作
在这里插入图片描述

非阻塞I/O

瞅一下–瞅一下–瞅一下。。。。-----------来了老弟---------办事

非阻塞等待,每隔一段时间就去检测IO事件是否就绪。没有就绪就可以做其他事。非阻塞I/O执行系统调用总是立即返回,不管时间是否已经发生,若时间没有发生,则返回-1,此时可以根据errno区分这两种情况,对于accept,recv和send,事件未发生时,errno通常被设置成eagain
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值