以前的代码是这样的;避免在 Vector 上出现ConcurrentModificationException ;需要迭代的地方;它在该 Vector 上的同步块内执行。因此,通过使多个线程进入 BLOCKED 状态以在不同的 API 上获取对该 Vector 的锁定,它的性能非常差。
我决定在我的项目中替换Vector
为。Collections.newSetFromMap(new ConcurrentHashMap<psConference,Boolean>());
所以将 Vector 改成 Concurrent 集合后;我已经删除了所有同步块。
但这里的问题是我的一些代码正在对该 Vector 执行 clone()。
- 由于我只有 Set 界面,如何在这里做同样的事情?
- Vector clone() 是深度克隆还是浅层克隆?
- 另外请告诉我布尔值的意义
ConcurrentHashMap<psConference,Boolean>