Java多线程原子引用分配

Java多线程原子引用分配,第1张

Java多线程原子引用分配

它是 不是 安全的没有一个适当的内存屏障。

人们会认为缓存的分配(cache =
newCache)将在填充缓存的步骤之后进行。但是,其他线程可能会受到这些语句的重新排序的影响,因此分配似乎在填充缓存之前发生。因此,可以在新缓存完全构建之前获取它,甚至可以看到ConcurrentModificationException。

您需要强制执行before-before关系,以防止这种重新排序,并且将缓存声明为易失性即可实现这一点。



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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存