package com.xiaolin93.multiprocess;
/**
* description: PossibleReordering <br>
* 验证指令重排序
*/
public class PossibleReordering {
static int a = 0, b = 0;
static int x = 0, y = 0;
public static void main(String[] args) throws InterruptedException {
int i=0;
for(;;){
i++;
x=0;y=0;
a=0;b=0;
Thread one = new Thread(new Runnable() {
public void run() {
a = 1;
x = b;
}
});
Thread other = new Thread(new Runnable() {
public void run() {
b = 1;
y = a;
}
});
one.start();
other.start();
one.join();
other.join();
if (x == 0 && y == 0) {
System.out.println("第"+i+"次");
System.out.println("(" + x + "," + y + ")");
break;
}
}
}
}

可以看到大概运行到三百多万次才验证指令重排序

被折叠的 条评论
为什么被折叠?



