UNIX网络编程卷一:第六章 I/O 复用 select, poll

什么时候使用?

UNIX网络编程卷一:第六章 I/O 复用 select, poll_第1张图片


当需要同时处理多个描述符时,需要使用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、从内核向进程复制数据

如对于一个套接字上的输入操作,第一步通常涉及等待数据从网络中到达。当所等待的分组到达时,它被复制到内核中的某个缓冲区。

第二步,就是把数据从内核缓冲区复制到进程缓冲区。


UNIX网络编程卷一:第六章 I/O 复用 select, poll_第2张图片

你可能感兴趣的:(UNIX网络编程卷一:第六章 I/O 复用 select, poll)