Java并发编程实战~volatile

禁用CPU 缓存

告诉编译器,对这个变量的读写,不能使用 CPU 缓存,必须从内存中读取或者写入

/*** TODO 在此写上类的相关说明.<br>* @author gqltt<br>* @version 1.0.0 2020年4月8日<br>* @see * @since JDK 1.5.0*/
public class VolatileExample {int x = 0;volatile boolean b = false;public void writer() {x = 42;b = true;}public void reader() {if(b) {System.out.println("x=" + x);}}/*** @param args*/public static void main(String[] args) {VolatileExample example = new VolatileExample();Thread th1 = new Thread(()->{CommonUtil.sleep(100);example.writer();});Thread th2 = new Thread(()->{CommonUtil.sleep(300);example.reader();});th1.start();th2.start();try {th1.join();th2.join();} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}

 

1、根据规则1,x=42 Happens-Before v=true
2、根据规则2,写变量v=true Happens-Before 读变量 v=true
3、根据规则3,x=42 Happens-Before 读变量 v=true

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/496788.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何在SQL Server 2005中还原数据库

还原数据库的方式 有几种数据库备份的方式就将会有几种还原数据库的 方式&#xff1a; l 完整备份的还原&#xff1a;无论是完整备份、差异备份还是事务日志备份的还原&#xff0c;在第一步都要先做完整备份的还原。完整备份的还原只需要还原完整备份文件即可。 l 差异备份的还…

amd cpu不能在cmd环境下运行java代码_如何在Windows10中配置java的JDK环境

今天给大家分享一下如何配置java的JDK环境。操作步骤如下&#xff1a;1.下载好 jdk 的安装文件&#xff0c;我下载的是 jdk-10.0.1_windows-x64_bin.exe 这个版本的安装文件&#xff1b;2.使用鼠标双击该exe文件&#xff0c;该exe文件会运行安装界面&#xff0c;截图如下&#…

我国医疗机器人产业发展特征分析

来源&#xff1a;雷克世界导语&#xff1a;2016年4月&#xff0c;我国发布了《机器人产业发展规划&#xff08;2016-2020年&#xff09;》&#xff0c;该规划引导我国机器人产业快速健康可持续发展&#xff0c;增强技术创新能力和国际竞争能力&#xff0c;医疗机器人政策长期利…

位枚举(Bit Flags)

场景&#xff1a;如字体&#xff0c;一个字体可以同时拥有枚举里面所列举的一种或者多种风格&#xff0c;这时就需要位枚举 定义&#xff1a; [Flags] publicenumFontStyle { Bold 0x0001, Italic 0x0002, Regular 0x0004, …

华为鸿蒙麒麟玉兔_华为P50除了麒麟9000,还预装鸿蒙系统,比iPhone12值得买

2020年已经临近尾声&#xff0c;各大手机厂商的旗舰机均悉数亮相&#xff0c;消费者的目光也开始逐渐转向2021年的开年旗舰上。而在各大手机厂商的第一批开年旗舰中&#xff0c;华为P系列的新品无疑是最受关注的一款。这主要是因为华为目前仍处于美方制裁下&#xff0c;芯片危机…

2018年智能化发展趋势:语音交互全球开战、AI终端趋势显现

来源&#xff1a;雪球网 作者&#xff1a;西木财经美国知名研究机构CB Insights近日发布重磅报告《2018年必看的人工智能热门趋势》&#xff08;Top AI Trends To Watch In 2018&#xff09;&#xff0c;报告对AI行业发展现状进行了深入研究剖析&#xff0c;并给出了2018年AI…

C++ 对象的内存布局

来源&#xff1a;http://blog.csdn.net/haoel/article/details/3081328 前言 07年12月&#xff0c;我写了一篇《C虚函数表解析》的文章&#xff0c;引起了大家的兴趣。有很多朋友对我的文章留了言&#xff0c;有鼓励我的&#xff0c;有批评我的&#xff0c;还有很多问问题的。…

VB.NET 中的 As New 以及型別指定

常有人以為 VB.NET 程式的執行效能不如 C#&#xff0c;但根據 msdn 的說法&#xff0c;VB.NET 和 C# 都是編譯成 MSIL 中繼語言&#xff0c;因此基本上以二者所寫出來的應用程式也具有相同的效能。最常導致二者在 web 應用程式中&#xff0c;執行效能差異的罪魁禍首&#xff0c…

普华永道:2018 AI预测报告 将回答关于数据的重大问题

来源&#xff1a;网络大数据近日 &#xff0c;普华永道发布关于2018年人工智能趋势预测的报告&#xff0c;同时介绍人工智能对商业、政府和社会的等方面的影响。人工智能非常复杂&#xff0c;且发展迅速。AI 在一些领域做了很多&#xff0c;在另一些领域做得较少&#xff0c;这…

过渡效果_剪映教程:剪映怎么添加视频之间的过渡转场效果?

今天是国庆假期的第三天&#xff0c;直播apk小编今天确实郁闷的无比&#xff0c;因为今天小编所在的老家正在下雨&#xff0c;而且从上午一直下到现在下了整整一天!OMG&#xff0c;浪费了一天的假期。不过还好有你们&#xff0c;小编还可以静下心来给大家写教程&#xff0c;好了…

C++ 多继承和虚继承的内存布局

来源&#xff1a;http://www.oschina.net/translate/cpp-virtual-inheritance 来源&#xff1a;http://www.cnblogs.com/BeyondAnyTime/archive/2012/06/05/2537451.html C中的虚拟继承的一些总结 1.为什么要引入虚拟继承 虚拟继承是多重继承中特有的概念。虚拟基类是为解决…

C++学习之路 | PTA乙级—— 1076 Wifi密码 (15 分)(精简)

1076 Wifi密码 (15 分) 下面是微博上流传的一张照片&#xff1a;“各位亲爱的同学们&#xff0c;鉴于大家有时需要使用 wifi&#xff0c;又怕耽误亲们的学习&#xff0c;现将 wifi 密码设置为下列数学题答案&#xff1a;A-1&#xff1b;B-2&#xff1b;C-3&#xff1b;D-4&…

怎么导出链接_如何导出CocosCreator项目供cocos2dx加载

1、新建CocosCreator项目。2、安装creator_to_cocos2dx 插件拷贝到 Creator 项目的 packages 目录3、在cocoscreator项目中&#xff0c;项目(Project) -> LuaCPP Support -> Setup Target Project&#xff0c;出现的对话框中 Project Path 选择目标 Cocos2d-x 工程的路径…

C++对象模型

From&#xff1a;http://blog.csdn.net/wxc1987821/article/details/5958325 图说C对象模型&#xff1a;对象内存布局详解&#xff1a;http://blog.csdn.net/alexqiweek/article/details/52624641 1 前言 了解你所使用的编程语言究竟是如何实现的&#xff0c;对于C程序员可能…

北斗产业发展现状与前景预测研究

来源&#xff1a;北斗时空作者&#xff1a;曹冲北斗产业&#xff0c;泛指中国卫星导航产业&#xff0c;2012年底我国北斗系统投入区域服务以后&#xff0c;中国的卫星导航产业就以北斗为轴心主线加以推动发展&#xff0c;从此称其为北斗产业。顺理成章由其延续我国整个导航定位…

自已动手制作寸照

毕业在即&#xff0c;学校动不动就给张单子&#xff0c;说&#xff0c;添了他&#xff0c;贴照片别忘。苦于我对镜头不感冒&#xff0c;照出来的相片很难看&#xff0c;真的没有本人好看。而且在照证明相的时候都不会笑了&#xff0c;脸很僵硬&#xff0c;不像平时的照片那么活…

Java并发编程实战~CountDownLatch

无线程池实现 while(存在未对账订单){// 查询未对账订单Thread T1 new Thread(()->{pos getPOrders();});T1.start();// 查询派送单Thread T2 new Thread(()->{dos getDOrders();});T2.start();// 等待 T1、T2 结束T1.join();T2.join();// 执行对账操作diff check(…

linuxoracle查看用户权限_权限管理系统设计过程

今天和大家一起探讨权限管理方面的设计心得。权限管理&#xff0c;是B端后台系统一个重要的组成部分&#xff0c;属于底层的支撑功能&#xff0c;系统内所有的功能&#xff0c;甚至字段的增减都涉及到权限的分配和管理。因此怎样配置后台的权限系统&#xff0c;以适应多变业务需…

MIT:大脑如何跟踪运动中的物体?

来源&#xff1a;脑健康联盟抓住一个弹起的球&#xff0c;或者用球拍击球&#xff0c;这两种行动都需要合理地估算触球时间。一直以来&#xff0c;神经科学家都相信&#xff0c;大脑是通过计算物体的运动速度来完成这些动作的。然而&#xff0c;麻省理工学院的一项新研究表明&a…

物联网测试完整解决方案 | 为你的芯片、模块、终端保驾护航

来源&#xff1a;物联网智库2017年被视为物联网商用元年。窄带物联网标准正式冻结&#xff0c;国内运营商重点布局以及设备制造商的强力推动……自此&#xff0c;物联网规模化商用迈入了快车道。然而&#xff0c;与传统的智能手机类似&#xff0c;基于NB-IoT技术的物联网设备在…