主要是因为i++这个操作不是原子性的,它会编译成 i = i +1; 其实是做了3个步骤,一个是读取,修改,写入 。所以会出现多线程访问冲突问题。 可以结合Java内存模型来进行说明。 转载于:https://www.cnblogs.com/amunote/p/10347326.html