先看一张图:
executorService.execute 是一个多线程
会出现的问题:在多线程的情况下操作ArrayList的add()方法会出现下标越界
解决问题:
方式1:List list = Collections.synchronizedList(new ArrayList<>());
方式2:使用 Vector
方式3:volatile修饰+互斥锁,比如Synchronized

先看一张图:
executorService.execute 是一个多线程
会出现的问题:在多线程的情况下操作ArrayList的add()方法会出现下标越界
解决问题:
方式1:List list = Collections.synchronizedList(new ArrayList<>());
方式2:使用 Vector
方式3:volatile修饰+互斥锁,比如Synchronized