gpt4 book ai didi

java - SelectionKey.cancel() 和 iterator.remove() 的区别 - java

转载 作者:行者123 更新时间:2023-12-02 05:04:10 33 4
gpt4 key购买 nike

key.cancel() 和 iterator.remove() 有什么区别?从迭代器中删除键不会也从选择器中删除键吗?

假设:

...
SelectionKey key = (SelectionKey) iterator.next();
..
Iterator<SelectionKey> iterator = selectedKeys.iterator();
...

最佳答案

SelectionKey 的 Javadoc 说明如下..

每次向选择器注册 channel 时都会创建一个选择键。键保持有效,直到通过调用其取消方法、关闭其 channel 或关闭其选择器来取消它为止。 取消某个键并不会立即将其从选择器中删除;相反,它会添加到选择器的取消键集中,以便在下一次选择操作期间删除。

iterator.remove,将其从列表中删除。

关于java - SelectionKey.cancel() 和 iterator.remove() 的区别 - java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27948298/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com