请你谈谈对volatile的理解

  1. 所在包:java.util.concurrent`---> `AtomicInteger`  `Lock` `ReadWriteLock
  2. volatile是java虚拟机提供的轻量级的同步机制
  3.  作用:保证可见性、不保证原子性、禁止指令重排
    原子性:不可分割、完整性,即某个线程正在做某个具体业务时,中间不可以被加塞或者被分割,需要整体完整,要么同时成功,要么同时失败
    
    验证示例(变量添加volatile关键字,方法不添加synchronized)
    可见性:当多个线程访问同一个变量时,一个线程修改了这个变量的值,其他线程能够立即看到修改的值
    指令重排:有序性:在计算机执行程序时,为了提高性能,编译器和处理器常常会对指令做重排

转载于:https://my.oschina.net/u/3915790/blog/3067359

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值