我们知道concurrent包里面引入了一些线程安全的集合,但是除了ConcurrentHashMap,其他都没用过,这些线程安全的集合 和我们熟知的非线程安全集合的对应关系如下:下面做一个常用的总结。
非线程安全对象 并发集合 共同接口 遍历实现方式
ArrayList CopyOnWriteArrayList List 快照
HashSet CopyOnWriteArraySet Set 快照
LinkedList ConcurrentLinkedQueue Queue 准实时
HashMap ConcurrentHashMap Map 准实时
TreeMap ConcurrentSkipListMap SortedMap 准实时
TreeSet ConcurrentSkipListSet SortedSet 准实时
参考《Java 多线程编程指南核心篇》,这本书感觉可以买一本实体书,里面的内容细则值得好好阅读。下面还简介了上面这些并 发集合各自的适用场景