为了账号安全,请及时绑定邮箱和手机立即绑定

Java多线程与安全发布

Java多线程与安全发布

ITMISS 2019-07-13 15:06:15
Java多线程与安全发布阅读后“Java并发在实践中的应用“和”OSGi在实践中的应用“我发现一个特别的主题非常有趣;安全的出版物。以下是来自JCIP的:为了安全地发布对象,对象和对象状态的引用必须同时对其他线程可见。通过以下方法可以安全地发布构造正确的对象:初始化对象引用。静态初始化器。将对它的引用存储到易挥发场。将对它的引用存储到最终场。将对它的引用存储到由同步)锁。我的第一个问题:有多少java开发人员知道这个问题(问题)?有多少真实世界的java应用程序真正遵循这一原则,这真的是一个问题吗?我有一种感觉,99%的已实现的JVM没有“邪恶”,即线程无法保证(事实上,它的实用(几乎)“不可能”)看到陈旧的数据仅仅是因为引用没有遵循上面的“安全发布成语”。
查看完整描述

3 回答

?
绝地无双

TA贡献1946条经验 获得超4个赞

“这真的是个问题吗?”

当然可以。即使是最琐碎的Web应用程序也必须面对与并发相关的问题。例如,servlet由多个线程访问。

另一个问题是线程和并发很难正确处理。几乎太难了。这就是为什么我们看到像事务性内存这样的趋势出现,而类似Clojure这样的语言有望使并发更容易处理。但在这些河流成为主流之前,我们还有一段路要走。因此,我们必须尽力而为。阅读JCIP是一个非常好的开始。


查看完整回答
反对 回复 2019-07-13
?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

这不是“邪恶”的问题。它这是一个真正的问题,随着未来几年多核体系结构的兴起,这个问题将变得更加明显。由于同步不当,我已经看到了非常真实的生产错误。为了回答你的另一个问题,我想说很少有程序员意识到这个问题,即使在其他“优秀”的开发人员中也是如此。


查看完整回答
反对 回复 2019-07-13
  • 3 回答
  • 0 关注
  • 453 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信