美文网首页
2020-08-16 java中如何验证指令重排序

2020-08-16 java中如何验证指令重排序

作者: 小苏c | 来源:发表于2020-08-16 22:00 被阅读0次

public class Test1 {

private  static int x =0, y =0;

    private  static int a =0, b =0;

    public static void main(String[] args)throws InterruptedException {

int i =0;

        for (;;){

i++;

            x =0; y =0;

            a =0; b =0;

            Thread t1 =new Thread(new Runnable() {

public void run() {

// 这里这个时间根据自己电脑性能调整

                    shortWait(20000);

                    a =1;

                    x =b;

                }

});

            Thread t2 =new Thread(new Runnable() {

public void run() {

b =1;

                    y =a;

                }

});

            t1.start();

            t2.start();

            t1.join();

            t2.join();

            String result ="第" + i +"次 (" +x +"," +y +")";

            if(x ==0 &&y ==0) {

System.out.println(result);

break;

            }else {

System.out.println(result);

            }

}

}

/**

* 等待一段时间,时间单位纳秒

    * @param interval

    */

    public static void shortWait(long interval){

long start = System.nanoTime();

        long end;

        do{

end = System.nanoTime();

        }while(start + interval >= end);

    }

}

相关文章

  • 2020-08-16 java中如何验证指令重排序

    public class Test1 { private static int x =0, y =0; pri...

  • Java指令重排序

    Java指令重排序Java内存模型允许编译器和处理器对指令重排序以提高运行性能,并且只会对不存在数据依赖性的指令重...

  • 单例模式注意事项

    单例中的类变量定义加 volatile : 禁止java指令重排序

  • 单例模式

    内部静态类 双锁验证 防止指令重排序 枚举

  • 重排序 VS 可见性 VS 原子性

    重排序 代码实际执行顺序和代码在 Java 文件中的顺序不一致,代码指令并不是严格按照代码语句顺序执行的,这就是重...

  • smali代码

    java变量类型对应smali类型 指令: 绕过签名验证

  • Java中的指令重排序

    重排序通常是编译器或运行时环境为了优化程序性能而采取的对指令进行重新排序执行的一种手段。重排序分为两类:编译期重排...

  • 面试:用 Java 逆序打印链表

    面试:用 Java 逆序打印链表 昨天的 Java 实现单例模式 中,我们的双重检验锁机制因为指令重排序问题而引入...

  • FreeMarker | 笔记篇

    java中Freemarker list指令详解 java中Freemarker if else指令详解 java...

  • java volatile

    重排序 在Java内存模型中,为了效率是允许编译器和处理器对指令进行重排序,重排序它不会影响单线程的运行结果,但是...

网友评论

      本文标题:2020-08-16 java中如何验证指令重排序

      本文链接:https://www.haomeiwen.com/subject/jivxjktx.html