
NIO
阿肯那顿
这个作者很懒,什么都没留下…
展开
-
为什么NIO比BIO效率高
NIO比BIO效率高,主要原因是什么呢? 网上大多给出了两者的区别,可是具体效率高在哪里呢。首先我们看一下各自的特点 BIO:socketServer的accept方法是阻塞的。当有连接请求时,socketServer通过accept方法获取一个socket取得socket后,将这个socket分给一个线程去处理。此时socket需要等待有效的请求数据到来后,才可以真正开始处理请...原创 2018-02-26 22:53:50 · 11057 阅读 · 10 评论 -
BIO与NIO、AIO的区别
IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO。BIO在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个ServerSocket,然后在客户端启动Socket来对服务端进行通信,默认情况下服务端需要对每个请求建立一堆线程等待请求,而客户端发送请求后,先咨询服务端是否有线程相应,如果没有则会一直等待或者遭到拒绝请求,如果有的...转载 2018-02-26 23:09:37 · 192 阅读 · 0 评论 -
NIO的几种模型
Reactor单线程模型:单个线程完成所有事情包括接收客户端的TCP连接请求,读取和写入套接字数据等。 对于一些小容量应用场景,可以使用单线程模型。但是对于高负载、大并发的应用却不合适,主要原因如下:一个NIO线程同时处理成百上千的链路,性能上无法支撑,即便NIO线程的CPU负荷达到100%,也无法满足海量消息的编码、解码、读取和发送;当NIO线程负载过重之后,处理速度将变慢,这会导...转载 2018-02-26 23:12:35 · 1826 阅读 · 0 评论