自学内容网 自学内容网

Java NIO操作

NIO是相对于blocking IO来说的,Non-blocking I/O也就是NIO。非阻塞式的IO。

NIO针对IO而进行的改进,所以是基于原IO设计的。

NIO实现IO非阻塞的核心是下面三部分:

Channel通道,Buffer缓存区,Selector选择器

先说说他们之间是如何配合实现非阻塞的。

运行机制

程序直接和缓存对象buffer进行数据交互。这样对于程序来说非常方便操作。

每个buffer需要接通一个channel,channel的另一边是底层目标,例如文件或者socket之类的。

每个线程有一个selector,用于自动管理channel,检查channel状态,切换不同的channel执行数据交换工作。

所以channel只在底层和buffer直接做数据交换媒介,每个channel都有一个buffer,buffer和程序直接打交道,selector在channel阻塞时切换channel执行另外的任务,这就是非阻塞的运行机制。


原文地址:https://blog.csdn.net/BedwarsXD/article/details/143515992

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!