首页 > 编程语言 > 详细

java网络编程中的BIO,NIO,AIO

时间:2020-04-11 12:11:21      阅读:57      评论:0      收藏:0      [点我收藏+]

BIO,是指Blocking IO阻塞的io,是针对socket编程从网络上读写操作而言的。

对于传统的IO,在socket编程中,read,write,connect服务端的accept都会产生阻塞。

因此,在jdk1.4之前,如果遇到并发请求。那么就需要开启多个线程,每个线程处理一个网络请求。

这就会造成问题

线程的增多,会造成cpu压力增大

线程增大,会导致线程栈增多,因此会占用大量的内存。

然而这些线程,并不是都在请求,所以会造成cpu,内存的浪费。

利用线程池确实可以解决,但是线程池也是有数量的。假设有5个线程,那如果这5个线程同时阻塞了。那么另外的线程就又在等待了。

基于上诉问题。NIO出现了。

java网络编程中的BIO,NIO,AIO

原文:https://www.cnblogs.com/tomato190/p/12678450.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!