翔仔老师,关于并发问题的请教,下面是我写的代码
public static AtomicInteger result = new AtomicInteger(0);
public static void main(String[] args) {
final int total = 2;
ExecutorService exec = Executors.newCachedThreadPool();
for (int i = 0;i < 4;i++){
exec.execute(() -> {
for (int j = 0; j < total; j++) {
result.incrementAndGet();
}
});
}
exec.shutdown();
System.out.println(result);
}
这个的输出结果不稳定,60%的情况输出6,还有输出4,输出8的,正常情况应该是输出8,想请教下老师原因,这个多线程哪里出了问题