Java NIO Blocking IO and Non-Blocking IO(阻塞式IO与非阻塞式IO)
阻塞式IO阻塞式IO即在进行IO时,不能同时进行其它的计算任务。因此即使是在使用多线程的情况下,如果有多个IO操作同时进行,也可能导致CPU被占用且闲置,出现CPU利用率不高的情况。一个阻塞式多线程IO示例图如下:多线程阻塞式IO为了解决上述问题,加入了Selector(选择器)进行协调。通过将每一个Channel(通道)都注册到选择器上,选择器的作用即监视这些通道的IO情况。当某一个IO请求事件