Toggle navigation
面试宝典
架构师课程
开源
文章
博客
SpringCloud
CloudAlibaba
SpringBoot
Spring Boot1.X
Spring Boot2.X
关于
登录
|
注册
支付宝扫一扫帮助发展吧~
微信扫一扫帮助发展吧~
java volatile关键字解惑
天地
2016-11-14 16:33:53.0
0条评论
1965人阅读
版权声明:转载请先联系作者并标记出处。
java
点击阅读全文
扫描下方二维码,加入Java方向技术交流讨论群。暗号:加群
去注册
去登录
登录后发表
去注册
去登录
登录后发表
>文/占小狼(简书作者) >原文链接:http://www.jianshu.com/p/195ae7c77afe ##前言 看着上一篇的更新时间,发现已经挺长时间没有提笔了,只能以忙为自己开脱了,如果太闲都不好意思说自己是程序猿了,正好今天有人问了我一个问题: >当一个共享变量被volatile修饰时,它会保证修改的值立即被更新到主存“, 这里的”保证“ 是如何做到的?和 JIT的具体编译后的CPU指令相关吧? 最一开始碰到volatile,我的内心是拒绝的,因为当时做的项目中没有用到,也不清楚可以在什么场景下使用,所以希望这篇文章可以帮助大家理解volatile关键字。 ##volatile特性 内存可见性:通俗来说就是,线程A对一个volatile变量的修改,对于其它线程来说是可见的,即线程每次获取volatile变量的值都是最新的。 ##volatile的使用场景 通过关键字sychronize可以防止多个线程进入同一段代码,在某些特定场景中,volatile相当于一个轻量级的sychronize,因为不会引起线程的上下文切换,但是使用volatile必须满足两个条件:
首次访问,人机识别
扫描下方二维码回复
王老吉
获取解锁验证码
步骤:[ 打开微信 ]->[ 扫描上方二维码 ]->[ 关注
猿天地
的公众号] 输入
王老吉
获取验证码,即可永久解锁本站全部文章。
验证码:
(请输入)
提交