指令重排:代碼執(zhí)行順序與預(yù)期不一致
目的:提高性能
成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供武鳴網(wǎng)站建設(shè)、武鳴做網(wǎng)站、武鳴網(wǎng)站設(shè)計、武鳴網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、武鳴企業(yè)網(wǎng)站模板建站服務(wù),10多年武鳴做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
下例代碼,結(jié)束時可能打印指令重排:**
public class tt {
private static int a=0;
private static boolean flag=false;
public static void main(String[]args) throws InterruptedException
{
//線程1更改數(shù)據(jù)
Thread t1=new Thread(()->{
a=1;
flag=true;
});
//線程2讀取數(shù)據(jù)
Thread t2=new Thread(()->{
if(flag)
{
a*=1;
}
if(a==0)
{
System.out.println("發(fā)生了指令重排"+a);
}
});
t1.start();
t2.start();
t1.join();
t2.join();
}
}