码迷,mamicode.com
首页 > 其他好文 > 详细

关于 NIO 的一点直观感受

时间:2018-05-22 12:49:04      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:sele   使用   block   buffer   tin   应该   lin   inpu   lse   

使用普通的 socket 读取流:

Socket.getInputStream.read();

这个 read 是阻塞的,如果读不到数据,它会一直阻塞。

 

NIO 读取流:

SocketChannel.configureBlocking(false);
SocketChannel.read(ByteBuffer);

这个 read 是非阻塞的,即使如果没有数据,也会返回。

 

如果是 linux 系统,NIO 的 Selector 底层应该也是 epoll。

关于 NIO 的一点直观感受

标签:sele   使用   block   buffer   tin   应该   lin   inpu   lse   

原文地址:https://www.cnblogs.com/allenwas3/p/9070899.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!