codeegginterviewgroup / CodeEggDailyInterview

码个蛋每日面试题
395 stars 54 forks source link

并发集合和普通集合如何区别? #193

Open kukyxs opened 4 years ago

kukyxs commented 4 years ago

在Java中,有普通集合、同步的集合(即线程安全的集合)、并发集合。

并发集合常见的有ConcurrentHashMap、ConcurrentLinkedQueue、ConcurrentLinkedDeque等。并发集合位于java.util.concurrent包下,是在JDK1.5之后才有的。

普通集合通常性能最高,但是不保证多线程的安全性和并发的可靠性; 线程安全集合仅仅是给集合添加了synchronized(同步的)同步锁,严重影响了性能,而且对并发的效率就更低了; 并发集合通过复杂的策略不仅保证了多线程的安全,又提高了并发时的效率。