I/O 操作分为 blocking 和 nonblocking。Nonblocking 针对于同时处理大量 fd 的情况,比如 server;同时需要搭配这些技术来实现高性能、大规模的 I/O 处理:
- I/O 多路复用,比如
select()
epoll()
kqueue()
等 - Signal-driver I/O:实现起来比 I/O 多路复用复杂,不流行,不做研究
- POSIX Asynchronous I/O:暂无研究
I/O 操作分为 blocking 和 nonblocking。Nonblocking 针对于同时处理大量 fd 的情况,比如 server;同时需要搭配这些技术来实现高性能、大规模的 I/O 处理:
select()
epoll()
kqueue()
等