目录
一、概念
I/O复用模型:主要是指,一个线程可以同时监控多个系统IO、并且能够操作多个系统IO的一种技术模型;目前主要有:select、poll、epoll等技术模型。
二、流程
说明: select/poll/epoll核心是可以通过一个线程同时处理多个socket链接,并不会使得每次操作io的过程变快。因此,IO复用模型的设计并不是位了快,而是为了解决线程、进程数量过多(数量过多会导致系统频繁切换cpu资源,造成操作系统压力)对服务器开销造成的压力。
三、select、poll、epoll介绍
IO复用模型是通过一种机制,一个线程可以同时监控多个socket,其中某些socket就绪(读、写事件就绪)后能快速通知程序进程对应的IO操作。IO复用模型一般为异步阻塞IO,但select、poll、epoll本质上还是同步IO(都是需要读写事件就绪后再进行读写,而且整个读写的过程是阻塞的),真正意义上的异步IO是不需要负责进行读写操作的。