selectionKeys.clear()或remove抛异常java.lang.UnsupportedOperationException

2021-01-17 13:16

阅读:514

标签:selected   ann   线程安全   support   关注   修改   except   线程   注销   


获取返回的所关注的事件SelectionKey集合
Set selectionKeys = selector.keys();

selectionKeys循环处理完事件后,需要进行对它删除。

清除调用selectionKeys.clear()时 抛出异常:

java.lang.UnsupportedOperationException
    at java.util.Collections$UnmodifiableCollection.clear(Collections.java:1074)

 

keys()返回是一个不可修改的集合。只有在channel注销之后才可以删除。非线程安全。

改用

Set selectionKeys = selector.selectedKeys();

 

selectionKeys.clear()或remove抛异常java.lang.UnsupportedOperationException

标签:selected   ann   线程安全   support   关注   修改   except   线程   注销   

原文地址:https://www.cnblogs.com/song27/p/12918130.html


评论


亲,登录后才可以留言!