一.五种IO模型
1.阻塞式IO
一般通过在 while(true) 循环中服务端会 调用 accept() 方法等待接收客户端的连接 的方式监听请求,请求一旦接收到一个连 接请求,就可以建立通信套接字在这个通 信套接字上进行读写操作,此时不能再接 收其他客户端连接请求,只能等待同当前 连接的客户端的操作执行完成, 不过可以 通过多线程来支持多个客户端的连接。
2.非阻塞式IO
和阻塞 IO 类比,内核会立即返回,返回后 获得足够的 CPU 时间继续做其它的事情。 用户进程第一个阶段不是阻塞的,需要不断 的主动询问 kernel 数据好了没有;第二个 阶段依然总是阻塞的。
3.IO复用