Java:Selector.keys()和Selector.selectedKeys()之间有什么区别?

时间:2012-12-06 21:13:00

标签: java selector nio

Wat是Selector.keys()Selector.selectedKeys()之间的差异?

Javadoc () “返回此选择器的键集。 密钥集不能直接修改。只有在取消密钥并且其通道已取消注册后,才会删除该密钥。任何修改密钥集的尝试都将导致抛出UnsupportedOperationException。 密钥集不是线程安全的。

Javadoc selectedKeys () 返回此选择器的选定键集。 密钥可以从选定密钥集中删除,但不能直接添加到所选密钥集。任何将对象添加到键集的尝试都将导致抛出UnsupportedOperationException。 选定键集不是线程安全的。

1 个答案:

答案 0 :(得分:2)

创建选择器以使用它时,您需要注册一些键。这些进入了密钥集。只要选择了其中一个键,就会将其添加到所选键组中。所选键集始终是键集的子集,但可能没有全部键。