-
io 同步阻塞io
write和read完全阻塞,发起read时就挂起当前线程,直到内核数据完全准 备好,开始工作 -
noblock io 同步阻塞
发起read时 内核如果数据准备好,返回成功,客户端阻塞执行,如果未准备好,客户线程返回干自己的事,客户线程会轮询内核数据状态
3.new io io多路复用
select poll epoll(linux)类似2,但是不会来一个请求就起一个线程去轮询,而是通过一个线程 统一调用select方法轮询状态
4.aio 异步io
由内核主导,用户线程发起read后立即返回干别的事,又内核主导准备数据,内核缓冲区复制到用户缓冲区,然后通知用户线程继续执行,即回调。