java bio nio aio区别 Java中BIO,NIO和AIO的区别和应用场景?
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区别
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。