Java NIO-非阻塞通道与AsynchronousChannels - java

Java NIO提供了SocketChannelServerSocketChannel,可以将其设置为非阻塞模式(异步)。大多数操作返回的值对应于成功或该操作尚未完成。那么,除了回调功能之外,AynchronousSocketChannelAsynchronousServerSocketChannel的目的是什么?

参考方案

可以设置为非阻塞模式(异步)

就在那里,您有误解。非阻塞模式不同于异步模式。

非阻塞操作要么传输数据,要么不传输数据。无论哪种情况,都没有阻塞,并且返回操作完成。 SocketChannel, DatagramSocketChannel,Selector.支持此模式

异步操作在您调用该方法时开始,并在后台继续,其结果可在以后通过回调或Future获得。您在问题中提到的AsynchronousSocketChannel etc类支持此模式。

45码