最佳答案
我试图总结这两个概念之间的区别(因为当我看到人们在一个句子中同时使用这两个概念时,我真的很困惑,比如“非阻塞异步 IO”,我试图弄清楚它是什么意思)。
因此,在我的理解中,非阻塞 IO 是主要的操作系统机制来处理 IO,如果有任何数据准备就绪,否则只返回错误/什么也不做。
在异步 IO 中,您只需提供一个回调,当数据可用时将通知您的应用程序。
So what is actually "non-blocking async IO"? And how all them can be implemented in Java (standard JDK, without external libs, I know there are java.nio.channels.{Channels, Selector, SelectorKey}
and java.nio.channels.{AsynchronousSocketChannel}
): non-blocking IO, async IO, and non-blocking async IO (if there is such thing)?