2016 - 2024

感恩一路有你

java bio nio aio区别 Java中BIO,NIO和AIO的区别和应用场景?

浏览量:1481 时间:2021-03-12 06:16:13 作者:admin

Java中BIO,NIO和AIO的区别和应用场景?

AIO完全是异步通信。NiO是同步无阻塞通信。有一个典型的例子。把水烧开。假设有一个场景,有一排水壶(顾客)在烧开水。AIO的做法是,每个水壶都配有一个开关,当水沸腾时,开关会提醒相应的线程处理。NiO的方法是让线程连续观察每个水壶,并根据每个水壶的当前状态对其进行处理。Bio的方法是让线程留在一个水壶中,直到水壶沸腾,然后再处理下一个水壶。由此可见,AIO最聪明也最省力,NiO相对省力,一个人能看到所有的锅,bio最笨,劳动力低。

nio的SocketChannel.configureBlocking和aio有什么区别吗?

SocketChannel.configureBlocking接口(false)套接字上的读写操作没有被阻塞,即无论是否有数据,读写操作都会立即返回。此设置对于POSIX非块标志中的O非常有用。AIO(异步IO)在概念上比NiO更进一步。它一般包括非阻塞的含义。此外,它还可以使操作并发执行。

java AIO为什么不普及?

一个是JDK版本,它是在1.7之后添加的。另一个是Java语言中函数式编程的流行。

此外,考虑到大多数程序员都在做crud工作,AIO的使用往往基于基本软件,因此它给人一种很少使用的感觉。

java bio nio aio区别 bio nio aio 区别 联系 详解 java bio nio aio

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。