IO模型
堵塞(Blocking) | Non-blocking(非堵塞) | |
同步(Synchronous) | Read/Write | Read/Write(O_NONBLOCK) |
异步(Asynchronous) | I/O multiplexing(select/poll/epoll) | AIO(aio.h ) |
- select/poll/epoll是属于堵塞的异步IO,也就是调用这些函数,主线程会堵塞,知道有IO准备好或timeout
- EAGAIN使用不O_NONBLOCK的fd,标识当前没有可用数据
- AIO完全没有堵塞,通过信号或回调函数,当数据准备好时,直接调用回调函数或触发时间。
声明:如有转载本博文章,请注明出处。您的支持是我的动力!文章部分内容来自互联网,本人不负任何法律责任。