NIO - 施用选择键
NIO - 使用选择键◇ SelectionKey API看看 SelectionKey 的相关 API 方法:SelectionKey key channel.regi
NIO - 使用选择键
◇ SelectionKey API
看看 SelectionKey 的相关 API 方法:
SelectionKey key = channel.register (selector, SelectionKey.OP_READ, myObject);等价于:SelectionKey key = channel.register (selector, SelectionKey.OP_READ);key.attach (myObject);
◇ SelectionKey 的并发性 关于 SelectionKey 的最后一件需要注意的事情是并发性。总体上说,SelectionKey 对象是线程安全的,但知道修改 interest 集合的操作是通过 Selector 对象进行同步的是很重要的。这可能会导致 interestOps() 方法的调用会阻塞不确定长的一段时间。选择器所使用的锁策略(例如是否在整个选择过程中保持这些锁)是依赖于具体实现的。幸好,这种多元处理能力被特别地设计为可以使用单线程来管理多个通道。被多个线程使用的选择器也只会在系统特别复杂时产生问题。