Java有许多不同的集合类专为并发和线程安全而设计,但我不知道该选择哪一个适用于我的情况。
可能有多个线程同时调用.add()
和.remove()
方法,而我会经常使用类似List<T> newList = new ArrayList<T>(concurrentList)
这样的语句复制此列表。我将永远不会遍历并发列表。
我考虑过像CopyOnWriteArrayList
这样的东西,但我听说它可能非常低效,因为每次修改时都会复制自身。我希望能找到一个安全性和效率之间的好平衡点。
什么是最适合这种情况的列表(或集合)?