2-4節,為什么我的實際輸出始終為20000
class?Req1?implements?Runnable{ ???static?Req1?req1?=?new?Req1(); ???static?int?i=0; ???@Override ???public?void?run()?{ ??????for(int?j?=?0;j<10000;j++){ ?????????i++; ??????} ???} ???public?static?void?main(String[]?args)?throws?InterruptedException?{ ??????Thread?thread1?=?new?Thread(req1); ??????Thread?thread2?=?new?Thread(req1); ??????thread1.start(); ??????thread2.start(); ??????thread1.join(); ??????thread2.join(); ??????System.out.println(i); ???} }
2019-05-14
循環次數太少了,CPU瞬間執行完,兩個線程沒有交叉執行,或者交叉次數太少且沒有出現i++被中斷執行的情況