这对我来说可能很明显,但我仍然想确认以下内容......
给定一个特定的 Channel 和一个 NIO Netty 服务器,它使用 OrderedMemoryAwareThreadPoolExecutor 和以下形式的客户端:
- OIO 阻塞客户端- 我希望响应顺序与请求顺序相匹配。
- 使用阻塞读取的 NIO 客户端- 我希望响应顺序与请求顺序相匹配。
- 纯 NIO 异步客户端(无阻塞读取) ——我不会期望响应顺序与请求顺序匹配。
首先,如果以上不正确,请告诉我。如果是这样,请纠正我。
对于断言 3),服务器仍然按照接收每个事件的顺序处理请求,但是由于客户端是异步的,因此发送请求的顺序不是您可以预测的。真的?
因此,从客户的角度来看,响应顺序似乎有所不同。由于客户端的异步特性,请求发送到服务器的顺序实际上并不为人所知。
对于我正在从事的项目,我需要确定我对此的理解,因此非常感谢任何帮助。