前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >volatile 引用

volatile 引用

作者头像
平凡的学生族
发布2019-06-15 14:58:25
4680
发布2019-06-15 14:58:25
举报
文章被收录于专栏:后端技术后端技术

参考

Java - Volatile reference object and its member fields visibility

正文

java引用只能保证引用本身的可见性,而不能保证其成员变量的可见性。 如果要做到这一点,需要用synchronized方法同时设置这些变量,并用synchronized方法返回这些变量的数组。 synchronized的底层还是基于操作系统的mutex lock,所以,我们还是要利用锁的机制,也就是说,用ReentrantLock去设置和获取两个变量也是可以的。

代码语言:javascript
复制
public synchronized void setValues(int a, int b) {
    this.a = a;
    try {
        TimeUnit.MICROSECONDS.sleep(1);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
    this.b = b;
}

public synchronized int[] getValues() {
    return new int[]{a, b};
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.06.12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 参考
  • 正文
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档