Java中BIO与NIO文件操作代码示例有何差异?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1412个文字,预计阅读时间需要6分钟。
Java NIO 是一种异步非阻塞的 I/O 模式,简单来说,就像一边烧开水一边看水壶,每过一段时间就检查一下水壶的状态,如果有变化就继续下一步操作。NIO 的做法是使用一个线程不断轮询每个水壶的状态,看看是否有变化,然后进行相应的操作。
Java NIO 由三大部分组成:
1.通道(Channels)
2.缓冲区(Buffers)
3.选择器(Selectors)
什么是Java NIO?
同步非阻塞io模式,拿烧开水来说,NIO的做法是叫一个线程不断的轮询每个水壶的状态,看看是否有水壶的状态发生了改变,从而进行下一步的操作。
Java NIO有三大组成部分:Buffer,Channel,Selector,通过事件驱动模式实现了什么时候有数据可读的问题。
什么是Java BIO?
同步阻塞IO模式,数据的读取写入必须阻塞在一个线程内等待其完成。这里使用那个经典的烧开水例子,这里假设一个烧开水的场景,有一排水壶在烧开水,BIO的工作模式就是, 叫一个线程停留在一个水壶那,直到这个水壶烧开,才去处理下一个水壶。但是实际上线程在等待水壶烧开的时间段什么都没有做。不知道io操作中什么时候有数据可读,所以一直是阻塞的模式。
本文共计1412个文字,预计阅读时间需要6分钟。
Java NIO 是一种异步非阻塞的 I/O 模式,简单来说,就像一边烧开水一边看水壶,每过一段时间就检查一下水壶的状态,如果有变化就继续下一步操作。NIO 的做法是使用一个线程不断轮询每个水壶的状态,看看是否有变化,然后进行相应的操作。
Java NIO 由三大部分组成:
1.通道(Channels)
2.缓冲区(Buffers)
3.选择器(Selectors)
什么是Java NIO?
同步非阻塞io模式,拿烧开水来说,NIO的做法是叫一个线程不断的轮询每个水壶的状态,看看是否有水壶的状态发生了改变,从而进行下一步的操作。
Java NIO有三大组成部分:Buffer,Channel,Selector,通过事件驱动模式实现了什么时候有数据可读的问题。
什么是Java BIO?
同步阻塞IO模式,数据的读取写入必须阻塞在一个线程内等待其完成。这里使用那个经典的烧开水例子,这里假设一个烧开水的场景,有一排水壶在烧开水,BIO的工作模式就是, 叫一个线程停留在一个水壶那,直到这个水壶烧开,才去处理下一个水壶。但是实际上线程在等待水壶烧开的时间段什么都没有做。不知道io操作中什么时候有数据可读,所以一直是阻塞的模式。

