一、线程安全的集合
1. Vector
原理:为其所有需要保证线程安全的方法都添加了synchronized关键字,锁住了整个对象。
使用锁种类: 互斥锁
2. Hashtable
原理和所种类同Vector
3.使用Collections.synchronizedList() 包装成线程安全的集合
例如:
// List
List<String> list = Collections.synchronizedList(new ArrayList<>());
// Set
Set<String> set = Collections.synchronizedSet(new HashSet<>());
// Map
Map<String, String> map = Collections.synchronizedMap(new HashMap<>());
二、线程安全的map
Hashtable、synchronizedMap、ConcurrentHashMap。