public class Main {
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
for (int i = 0; i < 10000; i++) {
list.add(1);
new Thread(() -> {
list.remove(0);
}).start();
}
}
}
搞不懂为什么会样子,按理说没创建一个线程之前已经加上1了呀。即使夸张一点儿创建了10个线程,这十个线程还没来得及执行,但是下一次执行循环的时候,也已经add了11个1了呀?