多路复用I/O之select 实现客户端之间通信【3】

总结归纳了一些I/O多路复用的相关知识点:


I/O复用:客户端发来请求,服务器端会产生一个进程对其进行服务,每当来一个客户请求就产生一个

 进程来服务,然而进程不可能无限制产生,因此为了解决大量客户端访问的问题,引入了I/O

 复用技术。   即一个进程可以同时对多个客户请求进行服务

I/O复用的"介质"是进程,进程也是靠调用select 和 poll来实现的;客户端发来的IO是并发的但是IO所需的读写数据

多数情况下是没有准备好的,因此就可以利用一个函数来监听IO所需的这些数据的状态,一旦IO有数据可以进行读写

了,进程就来对这样的IO进行服务。

IO多路复用指内核一旦发现进程指定的一个或多个IO条件准备读取,它就通知该进程。

上网归纳了一下IO多路复用适用的场合

1、当客户处理多个描述字时(一般是交互式输入和网络套接口),必须使用I/O复用

2、当一个客户同时处理多个套接口时,而这种情况是可能的,但很少出现

3、如果一个TCP服务器既要处理监听套接口,又要处理已连接套接口,一般也要用I/O复用

4、如果一个服务器既要处理TCP,又要处理UDP,一般也要用I/O复用

5、如果一个服务器要处理多个服务或多个协议,一般也要使用I/O复用


与多进程和多线程技术相比,I/O多路复用技术的最大优势是系统开销小,系统不必创建进程/线程,

也不必维护这些进程/线程࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值