阻塞和非阻塞是什么?
- 阻塞:做某件事情,直到完成,除非超时,如果没有完成,继续等待
- 非阻塞:做某件事情,尝试去做,如果说不能做完,就不做了,意思就是直接返回,如果能够完成就做
传统IO有哪些阻塞点?
- 当前只支持同时一个客户端接入
阻塞点的位置
- 支持多个客户端连接
- 传统IO的比较耗费资源
NIO 模型,他的阻塞点在哪?
1:增加了一个重要的角色(selector),主要负责调度和收集和监控客户端和服务端(调度器)
- 2:由阻塞方式改成了非阻塞(NO-BLOCKING)
*
- 阻塞点:this.selector.select();
对比总结
- 真正关心的阻塞点是读取数据
- NIO2.0 是指的是AIO 异步IO