IO多路复用

5种IO模型

阻塞IO:一直等待CPU处理,不干其他事情

非阻塞IO:请求CPU处理,若CPU正忙则返回错误给非阻塞IO,非阻塞IO离开过一段时间再来请求,直到CPU处理

IO多路复用

信号IO:请求CPU处理并提供一个信号函数,然后继续其他操作,CPU准备好了就发信号通知

异步IO:请求CPU后离开做其他操作,CPU完成IO后通知

IO多路复用

一个线程去记录多个连接的信息,然后选择处理其中的某个,期间其他连接处于阻塞状态等待处理

三种实现方法

select,poll,epoll(线程安全,且告知连接内部数据)

Nginx使用的就是IO多路复用epoll处理并发连接,Redis也是使用epoll处理多个客户端连接

猜你喜欢

转载自www.cnblogs.com/ming-szu/p/9070323.html