网络I/O的基本知识
主要的I/O模型:
- 阻塞I/O模型
- 非阻塞I/O模型
在发起I/O请求后,立即返回,然后进行轮询,直到数据到达 - I/O复用模型
系统提供select/ poll,进程将一个或多个fd传递给select或poll系统调用,阻塞在select操作上,select会顺序扫描fd,将就绪的fd返回 - 信号驱动I/O模型
应用程序在发起IO请求后立即返回,并且通过系统调用sigaction生成一个信号处理函数。当数据准备就绪时,会为该进程生成一个SIGIO信号,通过信号回调通知应用程序读取数据 - 异步I/O
指的是内核在完成所有IO操作后,才通知我们