关于 NIO 的一点直观感受

使用普通的 socket 读取流:

Socket.getInputStream.read();

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

NIO 读取流:

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

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

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

猜你喜欢

转载自www.cnblogs.com/allenwas3/p/9070899.html