我们知道concurrent包里面引入了一些线程安全的集合,但是除了ConcurrentHashMap,其他都没用过,这些线程安全的集合 和我们熟知的非线程安全集合的对应关系如下:下面做一个常用的总结。

非线程安全对象            并发集合             共同接口        遍历实现方式 
 ArrayList          CopyOnWriteArrayList        List            快照
 HashSet            CopyOnWriteArraySet         Set             快照
 LinkedList         ConcurrentLinkedQueue       Queue           准实时  
 HashMap            ConcurrentHashMap           Map             准实时
 TreeMap            ConcurrentSkipListMap       SortedMap       准实时
 TreeSet            ConcurrentSkipListSet       SortedSet       准实时

参考《Java 多线程编程指南核心篇》,这本书感觉可以买一本实体书,里面的内容细则值得好好阅读。下面还简介了上面这些并 发集合各自的适用场景