双 JK 触发器 74LS112 逻辑功能。真值表_Java多线程 volatile适用的场景:触发器

volatile适用的场景:触发器

volatile适用的场景:触发器. 用作刷新之前变量的触发器 .

在这篇关于可见性这篇的文章中, 有如下的代码. 提到只用一个volatile就能保证a和b的可见性.
https://javaweixin6.blog.csdn.net/article/details/108424008
但是假如, 除了有变量a , 在b=0这个操作之前, 还有其他的很多变量, 例如下图的, abc abcd等变量. 那么在print方法的判断b=0时, 由happens-before原则也能保证其他变量的赋值完成. 此时变量b充当了触发器的角色.

3c77bdf3e2152df71b4b38e8f0bce86e.png


如下的一个伪代码中, 也说明了volatile作为触发器的场景.
线程A在执行完了一系列的配置操作后, 给volatile修饰的变量initialized赋值了true.
线程B在判断initialized 如果为false则会一直休眠, 直到initialized为true,才会走下面的代码, 并且使用线程初始化的一些配置. 此时 volatile修饰的变量initialized 作为了触发器.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值