JAVA--IO BIO&NIO

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zl_1079167478/article/details/83376105

BIO&NIO

针对文件读写操作,BIO性能远胜NIO,NIO优势体现在高并发情况下,线程复用,不会导致线程无限增加从而导致系统死掉。

BIO

同步阻塞式IO,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销,当然可以通过线程池机制改善。

NIO

同步非阻塞式IO,服务器实现模式为一个请求一个线程,即客户端发送的连接请求都会注册到多路复用器上,多路复用器轮询到连接有I/O请求时才启动一个线程进行处理

NIO2.0 == AIO

异步非阻塞式IO,服务器实现模式为一个有效请求一个线程,客户端的I/O请求都是由OS先完成了再通知服务器应用去启动线程进行处理。

###个人理解,以及单线程本地(非网络读写)文件读写操作,BIO性能最佳,所以,不要盲目的鼓吹NIO多好,NIO使用场合就是网络IO,高并发的情况下,否则基于线程池的BIO效率足够。具体并发数看设备硬件情况而定

猜你喜欢

转载自blog.csdn.net/zl_1079167478/article/details/83376105