C#转Java之路之三:多线程并发容器即线程安全的容器

CopyOnWriteArrayList 和 CopyOnWriteArraySet:

是java中两个比较重要的并发容器。适用于读多于写的场景,且集合数据不太大的场合。

特别是CopyOnWriteArraySet不包含重复元素的集合,性能较低,集合数据大时不建议使用。

如果数据量加大且并发场景可以使用:ConcurrentHashMap和ConcurrentSkipListSet

ConcurrentHashMap与HashMap类似,适合不需要排序的场景;

ConcurrentSkipListSet与TreeSet类似,适合要求排序的场景。

由于ConcurrentHashMap采用的分段锁机制,读操作完全并行,写操作支持一定程度的并行。支持大并发操作,但是弱一致性的。