您当前的位置: 首页 >  Java

java持续实践

暂无认证

  • 1浏览

    0关注

    746博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Java多线程 volatile适用的场景:触发器

java持续实践 发布时间:2020-09-06 14:27:16 ,浏览量:1

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

关注
打赏
1658054974
查看更多评论
立即登录/注册

微信扫码登录

0.0403s