同步容器是通过synchronized来实现同步的,所以性能较差
。而且同步容器也并不是绝对线程安全的,在一些特殊情况下也会出现线程不安全的行为。那么有没有更好的方式代替同步容器呢?答案是有的,那就是并发容器,有了并发容器后同步容器的使用也越来越少的,大部分都会优先使用并发容器
。
常见的并发容器如下:
- List
- ArrayList对应的CopyOnWriteArrayList
- Set
- HashSet对应的CopyOnWriteArraySet
- TreeSet对应的ConcurrentSkipListSet
- Map
- HashMap对应的ConcurrentHashMap
- TreeMap对应的ConcurrentSkipListMap