最近被问到ArrayList线程的问题,我们知道ArrayList源码里面方法不同于vector
是没有 synchronized关键字修饰的所以这就导致 ArrayList的线程不安全。
那我们如何解决ArrayList线程不安全的问题呢?
一、使用synchronized关键字
1.给方法名加上synchronized,如 public synchronized void method(){}
2.在new对象的时候加 new synchronized ArrayList();
3.ArrayList arraylist= new arraylist();
synchronized(arraylist){}
二、使用Collections.synchronizedList();
这个也是面试官在提问的时候,希望你能回答出来的问题。
假如代码如下
List<Map<Str