保证线程安全的方法
synchronizedXxx():该方法可以使指定的集合包装成线程安全的集合,并返回
例如:
- Collections.synchronizedList(List) 将线程不安全的List,返回线程安全的List
- Collections.synchronizedCollection(Collection) 将线程不安全的Collection,返回线程安全的Collection
- Collections.synchronizedMap(Map) 将线程不安全的Map,返回线程安全的Map
- Collections.synchronizedSet(Set) 将线程不安全的Set,返回线程安全的Set
下面以ArrayList作为示范:
public class CollectionTest {
public static void main(String[] args) {
CollectionTest ct = new CollectionTest();
ct.test();
}
public void test() {
//我们可以知道ArrayList是一个线程不安全的集合
ArrayList arrayList = new ArrayList();
arrayList.add("我爱你");
arrayList.add("中国");
arrayList.add("你好");
//将将线程不安全的集合对象作为参数传入synchronizedXxx()方法中
List synchronizedList = Collections.synchronizedList(arrayList);
//此时的synchronizedList就是线程安全的集合
System.out.println(synchronizedList);
}
}