nio中文来说就是同步非阻塞的方式来处理IO数据,单独这样解释对于不了解的人来说是建立不起来概念的。所以就需要有对比的来看。
首先,同步阻塞。当执行者要执行由A-B-C三件事情组成的DEMO,当A执行完之后调用B,B执行完成之后在调用C,最终此事件完成。这种A执行完之后调用下一件事的动作就是同步。而执行者等待这个DEMO的完成的动作则是阻塞。
而什么是同步非阻塞呢?总事物还是按照原计划执行,但是执行者会在DEMO完成期间去做别的事件,但是它会监听此DEMO是否执行完成。如果完成,又会切换回来完成之后的事件。切换的动作就是非阻塞了。
说完前两个,肯定要说说异步非阻塞了。异步与同步的区别在于,同步切换的动作是当执行者监听到DEMO完成,再切换。而异步则是当DEMO完成之后会发出完成的广播,通知执行者,然后执行者按照自己的计划去切换。
它们在日常中分别叫做
BIO - BlockingIO 同步阻塞
NIO - Non-Blocking IO 同步非阻塞
AIO - Asynchronous IO 异步非阻塞
NIO最基础的使用模型为多路复用模型。
因篇幅问题不能全部显示,请点此查看更多更全内容