代码如下,运行时有时候会成功,有的时候就会报错
public static void main(String[] args) {
Random random = new Random();
int i = random.nextInt(20);
ArrayList<String> arrayList = new ArrayList<>();
for (int i1 = 0; i1 < i; i1++) {
new Thread(()->{
arrayList.add(Thread.currentThread().getName());
}).start();
}
System.out.println(arrayList);
}
代码的目的就是随机生成多个线程,将线程名字存到集合里然后打印,但是总出错,搞不懂啊
CopyOnWriteArrayList来代替你的arraylist啊,一个是线程安全的,一个不是