我是 Java NIO 的新手,并且已经使用了一点。我有一个一般性的查询。如果您正在设计超低延迟应用程序和高吞吐量应用程序,那么使用非阻塞 IO 会明显受益于两者中的哪一个?
我的理解是,非阻塞 IO 肯定有助于提高吞吐量,因为工作线程没有阻塞,因此不会等待响应,并且可以自由地触发新请求,直到之前的请求得到处理。一旦我们得到先前触发的请求的响应,工作线程就可以异步处理它们,从而提高吞吐量。
但是,我无法看到非阻塞 IO 如何直接使低延迟应用程序受益。
我猜“异步行为是避免争用的好方法”。如果是这样的话,低竞争意味着低延迟。因此 NIO 可能有助于降低延迟。是否有意义?