Wat是Selector.keys()
和Selector.selectedKeys()
之间的差异?
Javadoc 键() “返回此选择器的键集。 密钥集不能直接修改。只有在取消密钥并且其通道已取消注册后,才会删除该密钥。任何修改密钥集的尝试都将导致抛出UnsupportedOperationException。 密钥集不是线程安全的。“
Javadoc selectedKeys () 返回此选择器的选定键集。 密钥可以从选定密钥集中删除,但不能直接添加到所选密钥集。任何将对象添加到键集的尝试都将导致抛出UnsupportedOperationException。 选定键集不是线程安全的。
答案 0 :(得分:2)
创建选择器以使用它时,您需要注册一些键。这些进入了密钥集。只要选择了其中一个键,就会将其添加到所选键组中。所选键集始终是键集的子集,但可能没有全部键。