java单例指令重排_java实现数组去重

java单例指令重排_java实现数组去重java指令重排案例。

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

/** * 验证指令重排的案例 * 顺序执行下,x和y不可能同时为0,如果出现了同时为0,则说明发生了指令重排。 */
public class InstructionRearrangement { 
   
    static int a = 0, b = 0, x = 0, y = 0;

    public static void main(String[] args) throws InterruptedException { 
   
        while (true) { 
   
            Thread one = new Thread(() -> { 
   
                a = 1;
                x = b;
            });
            Thread other = new Thread(() -> { 
   
                b = 1;
                y = a;
            });
            one.start();
            other.start();
            one.join();
            other.join();
            //没有指令重排,x和y不可能同时为0
            if (x == 0 && y == 0) { 
   
                System.out.println("x=" + x + ",y=" + y);
            }
            a = 0;
            b = 0;
            x = 0;
            y = 0;
        }
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/180936.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 谓词表示法表示猴子摘香蕉_猴子妈妈有14个香蕉

    谓词表示法表示猴子摘香蕉_猴子妈妈有14个香蕉案例:我们要实现以下步骤:这个案例共有以下几种情况,猴子香蕉箱子在同一处,猴子香蕉在同一处,香蕉箱子在同一出,还有三者均不在同一处,但不论是哪种情况,我们需要清楚一点就算是香蕉和猴子在同一位置,猴子也无法直接获得香蕉,因此我们第一步必须需要先找到箱子,然后再去搬着箱子移动到香蕉处。本案例中有以下四个谓词逻辑: Run(monkey,box)代表猴子去搬箱子 Getbox(monkey,box)代表猴子得到了箱子 Run(monkey,banana)代表了.

    2022年9月26日
    2
  • Latex:入门教程

    Latex:入门教程http://blog.csdn.net/pipisorry/article/details/54571521总的来说,LaTex是一套排版系统,与word那种所见即所得对排版方式不太,用LaTex排版更像是写程序一样,将想要的排版效果用指令写出来,再通过LaTex编译成文档。简单来说,你只要按照要求撰写tex文件,就能够通过LaTex生成排版好的pdf文件。有些人可能听到写程序就头大了,其实使用…

    2022年7月26日
    6
  • 四种方法求最长回文子串

    四种方法求最长回文子串所谓回文串,就是正着读和倒着读结果都一样的回文字符串。比如:a,aba,abccba都是回文串,ab,abb,abca都不是回文串。一、暴力法最容易想到的就是暴力破解,求出每一个子串,之后判断是不是回文,找到最长的那个。求每一个子串时间复杂度O(N^2),判断子串是不是回文O(N),两者是相乘关系,所以时间复杂度为O(N^3)。stringlongestPali…

    2022年6月5日
    52
  • Php公众号40029,微信开发之微信公众平台,网页授权及 40029 问题解决

    Php公众号40029,微信开发之微信公众平台,网页授权及 40029 问题解决本文将带你了解微信开发微信公众平台,网页授权及40029问题解决,希望本文对大家学微信有所帮助。1、跳转授权链接https://open.weixin.qq.com/connect/oauth2/authorize?appid=xxx&redirect_uri=xxx&response_type=code&scope=snsapi_userinfo&state=…

    2022年4月29日
    45
  • 二叉树性质的性质及证明整理

    二叉树性质的性质及证明整理——整理于2020.4.29二叉树的性质及证明性质1:在二叉树的第i层上至多有2(i-1)个结点(i>=1)证明:数学归纳法(1) i=1时只有一个根节点。显然2(i-1)=20=1是对的(2) 假设对所有的j,1<=j<i,命题成立,即第j层上至多有2(j-1)个结点(3)由归纳假设可得:第i-1层上至多有2(i-2)个结点。由于二叉树…

    2022年5月6日
    56
  • python json转对象

    python json转对象json转对象是python比较常见的一个应用场景,如何来实现呢?这里会涉及json模块中的loads方法,具体操作如下:导入json包importjson自定义classclassResult:def__init__(self,token,userName,empCode):self.token=tokenself.userName=userNameself.empCode=empCode添加需转换j

    2025年7月16日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号