NIO相关

程序大部分浪费时间的地方都是IO 硬盘 。数据库。网络

传统io 阻塞型的 如read 会阻塞 等待有通知过来。 面向字节流 按照字节流逐一读取。

NIO 引入channel、selector 一个线程管理一个selector ,一个selector可以绑定多个channel。然后数据要流过channel。

然后读入缓存或者先从缓存中读,缓存有好多种,BYTEBUFFER,所以NIO是面向缓存的,能前后加载。

当一个CHANNEL阻塞的时候,线程会去处理别的IO,当有通知过来的时候,可以通过selector获得到的通知。由此Nio也是面向非阻塞的。

posted @ 2018-12-16 16:50  saveworld_niub  阅读(98)  评论(0编辑  收藏  举报