引用类型易变-是否总是避免由于JMM导致发布引用问题?

引用类型易变-是否总是避免由于JMM导致发布引用问题?,第1张

引用类型易变-是否总是避免由于JMM导致发布引用问题?

声明

instance
为as
volatile
不会使其成为字段
volatile
,但是,如果我正确理解了您的问题,那么-
是的,就您的情况而言就足够了。

根据规范的第17.4.5节:

  • 在另一个线程进行 任何后续读取 之前,
    volatile
    将在一个线程中进行写入。 __
    volatile
  • 同一线程中的语句具有您所期望 的事前发生 关系。
  • __关系 发生 传递 之前发生

因此,如果一个线程认为

instance
初始化,则在该
instance
事件之前 对其进行初始化,而在
之前进行
instance
字段的初始化,因此该线程将 之前 将其
instance
字段视为已初始化。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5501075.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-13
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存