博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java并发编程:volatile关键字解析
阅读量:2382 次
发布时间:2019-05-10

本文共 403 字,大约阅读时间需要 1 分钟。

摘要:

1.java的内存模型,由于主存读取速度较慢,CPU在处理每个线程都有自己的高速缓存。

2.并发编程必须要保证原子性、可见性以及有序性。

3.被volatile关键字修饰的变量

1)保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。

2)禁止进行指令重排序。

4.Java内存模型具备一些先天的“有序性”,即不需要通过任何手段就能够得到保证的有序性,这个通常也称为 happens-before 原则。如果两个操作的执行次序无法从happens-before原则推导出来,那么它们就不能保证它们的有序性,虚拟机可以随意地对它们进行重排序。

5.volatile可以保证可见性,一定的“有序性;synchronized和Lock可以保证线程安全。

6.Atomic是利用CAS来实现原子性操作的(Compare And Swap)

 

 

 

参考链接:

 

 

转载地址:http://mbyab.baihongyu.com/

你可能感兴趣的文章
强大的CSS:var变量的局部作用域(继承)特性
查看>>
强大的CSS: 使用“变量种子计数器”扩展动画更多可能性
查看>>
强大的CSS:focus-visible伪类真的太6了!
查看>>
强大的CSS:3种姿势实现26个英文字母的案例
查看>>
强大的CSS:placeholder-shown伪类实现Material Design占位符交互效果
查看>>
强大的CSS:图形绘制合集,方便你我!
查看>>
强大的CSS:scroll-snap滚动事件停止及元素位置检测
查看>>
程序员30岁前,月薪达不到30K,该何去何从?
查看>>
只要记住这五点,学习任何新编程语言都不是问题
查看>>
常见的前端开发CSS 面试题及回答策略
查看>>
缺前端是假的,缺优秀前端是真的
查看>>
前端入门那么容易,工作很难找吗?
查看>>
Web前端很难学?html、css t、JavaScrip知识架构图分享
查看>>
常见的前端开发:Javascript 面试题及回答策略
查看>>
前端开发最容易出错的基础知识,面试常问!
查看>>
北漂这五年,跟大家谈谈前端开发的发展以及进阶
查看>>
web前端开发学习推荐这5本书
查看>>
前端是不是没有地位?
查看>>
五种JavaScript富文本编辑器,总有一款适合你
查看>>
前端开发入门到实战:css单行截断和多行截断问题
查看>>