一、先看一个程序 开3个线程对p进行++一万次操作,期望是30000,程序执行结果: 二、为什么结果会少于30000 看下i++的字节码 可以看到,虽然i++只有一行代码,但从字节码角度来看是分为3步的,分别是 1.get 2.add 3.put 所以上面的原因就很好理解了,i++中间被打断了,其他线程在i++中间执行了,比如1个线程get p=0还没put时,第二个线程就也get并且put了。 ...