什么时候使用?
当需要同时处理多个描述符时,需要使用I/O复用。
Unix下可用的5种I/O模型
1、阻塞I/O
2、非阻塞I/O
3、I/O复用 (select poll)
4、信号驱动I/O (SIGIO)
5、异步I/O (POSIX的aio_系列函数)
一个输入操作通常包括两个不同的阶段:
1、等待数据准备好 (等待数据从网络中到达,当所等待的分组到达时,它被复制到内核中的某个缓冲区。)
2、从内核向进程复制数据
如对于一个套接字上的输入操作,第一步通常涉及等待数据从网络中到达。当所等待的分组到达时,它被复制到内核中的某个缓冲区。
第二步,就是把数据从内核缓冲区复制到进程缓冲区。