并发集合与普通集合的区别
在Java中,有普通集合、同步的集合(即线程安全的集合)、并发集合。
并发集合常见的有ConcurrentHashMap、ConcurrentLinkedQueue、ConcurrentLinkedDeque
等。并发集合位于java.util.concurrent
包下,是在JDK1.5之后才有的。
- 普通集合通常性能最高,但是不保证多线程的安全性和并发的可靠性;
- 线程安全集合仅仅是给集合添加了
synchronized(同步的)
同步锁,严重影响了性能,而且对并发的效率就更低了; - 并发集合通过复杂的策略不仅保证了多线程的安全,又提高了并发时的效率。