2016 - 2024

感恩一路有你

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

浏览量:2502 时间:2021-03-15 10:16:35 作者:admin

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

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

tomcat nio和netty的区别?

在IO方面,有五种概念模型:阻塞I/O、非阻塞I/O、I/O多路复用(选择和轮询)、信号驱动I/O(sigio)、异步I/O(POSIX AIO)功能。

Tomcat是HTTP层,所以我建议HTTP选择Tomcat(或其他成熟的HTTP服务器),不是说netty不好,但这是你的选择。

Netty是一个网络组件,TCP、UDP、HTTP都可以做,不过官方文档都是一些Hello world级别的。如果您非常了解HTTP的结构,那么您可以制作一个比基于netty的Tomcat更好的HTTP服务器。Netty是一个基于NiO(nonblocking I/O)的网络通信框架。与bio(blocking I/O)相比,它的并发性能有了很大的提高。所以netty的并发性很高。

netty和Tomcat的最大区别在于通信协议。Tomcat基于HTTP协议,其本质是一个基于HTTP协议的web容器。然而,内蒂是不同的。它可以通过编程定制各种协议,因为netty可以通过编解码器本身对字进行编码/解码,并完成类似redis access的功能。这是netty和Tomcat最大的区别。Netty需要自己解码来完成握手和其他操作。Netty是一个网络组件。Tomcat是一个web容器。

java bio nio aio区别 bio和nio的应用场景 aio bio nio区别

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