而且明明白白注册好读操作了,同一个事件循环线程刚写完数据,并且已经确认后端数据库成功写回了数据,让这个事件循环线程去读也读不到,返回尝试读多次都读不到。
@zhh-4096
java nio 有个诡异的行为,如果先通过AbstractSelectableChannel.configureBlocking(boolean) 配置成阻塞模式,连接成功后,再配置成非阻塞模式,并注册 SelectionKey.OP_READ,即便后端有发回数据,客户端有时能触发 read 事件,有时又不能。如果先配置成非阻塞模式,之后转成阻塞再转非阻塞都正常。
