1. 包装线程不安全集合成线程安全集合
使用Collections方法实现,需要封装的对象创建出来要立即封装
封装线程安全的HashMap:
HashMap map = Collections.synchronizedMap(new HashMap());
此外还提供了:
synchronizedCollection
synchronizedList
synchronizedMap
synchronizedSet
synchronizedSortedMap
synchronizedSortedSet
2. 线程安全集合类
1. 以Concurrent开头的线程安全集合类通过算法实现了多线程并发写如
ConcurrentHashMap默认支持16个线程并发写入
ConcurrentSkipListMap
....
2. 以CopyOnWrite开头的集合类,采用复制底层数组方式实现写操作,写操作比较慢,读操作效率高,适合读操作大于写操作的场景,例如缓存
CopyOnWrite...