把非线程安全的集合转换为线程安全

  在平时代码中,我们一般经常使用ArrayList,但是在多线程中要考虑它的线程安全性(ArrayList是非线程安全)。如果没考虑,就直接使用了,多个线程就可以同时进入一个ArrayList对象的add方法。所以为了保持线程同步。我们可以考虑将它转换为线程安全的ArrayList.

方法:借助Collections.synchronizedList,可以把ArrayList转换为线程安全的List。

public class TestThread {
    
    public static void main(String[] args) {
        List<Integer> list1 = new ArrayList<>();
        List<Integer> list2 = Collections.synchronizedList(list1);
    }
        
}

你可能感兴趣的:(多线程)