在非阻塞模式下,您可以注册一个频道,因此当它准备好写入频道时,通知选择器。
我的问题是,我的频道怎么做,知道什么时候写。 java决定它现在准备写入的频道有什么条件?例如,服务器(假设我是客户端)通知我的通道/套接字它已准备好读取吗?所以我的SelectionKey.OP_WRITE触发选择器?
我对read()感到疑惑。但我想它的插座已经收到一些数据,所以它通知你读取已经收到的数据。正确?
由于
答案 0 :(得分:1)
它实际上并没有告诉你什么时候它已准备好进行物理写入,但是当它在写缓冲区或读缓冲区中有空闲空间时它不是空的。