所以当我们提到 non-blocking 的时候,实际上指的是 non-blocking + IO-multiplexing,单用其中任何一个都不能很好的实现功能,一般我们会使用non-blocking + IO-multiplexing + Thread Pool,比如muduo、netty都是典型的这种架构 nginx使用了多进程监听新用户的连接,不像non-blocking + IO-multiplexing + Thread Pool一...
3、IO复用 Linux用select/poll/epoll函数实现IO复用模型,这些函数也会使进程阻塞,但是和阻塞IO所不同的是这些函数可以同时阻塞多个IO操作。而且可以同时对多个读操作、写操作的IO函数进行检测。直到有数据可读或可写时,才真正调用lO操作函数。 可以同时检测多个IO,一般交给内核来完成监测工作,当有数据到达时,就通过应...