同步容器类有以上问题,导致这些类成了鸡肋,Java 5推出了并发容器类
队列Queue类型的BlockingQueue和ConcurrentLinkedQueue
Map类型的ConcurrentMap
Set类型的ConcurrentSkipListSet和CopyOnWriteArraySet
List类型的CopyOnWriteArrayList
Map对应的有ConcurrentHashMap
Map对应的有ConcurrentHashMap
更加细化的锁机制。同步容器直接把容器对象做为锁,这样就把所有操作串行化,其实这是没必要的,过于悲观,而并发容器采用更细粒度的锁机制,名叫分离锁,保证一些不会发生并发问题的操作进行并行执行。
附加了一些原子性的复合操作。比如putIfAbsent方法
迭代器的弱一致性,而非“及时失败”。它在迭代过程中不再抛出Concurrentmodificationexception异常,而是弱一致性。 <