相关疑难解决方法(0)

如何演示java多线程可见性问题?

如果从多个线程访问Java中的变量,则必须确保它们被安全地发布.这通常意味着使用synchronizedvolatile.

我的印象是,我的一些同事并没有认真对待这个问题,因为他们"以前从未听过,volatile而且他们的计划已经工作了多年".

所以我的问题是:

有人可以提供示例Java程序/片段,可靠地显示数据可见性问题.

我认为运行一个程序并看到意外的NPE或陈旧的变量值将有助于更多,而不仅仅是理论上的解释,这是无法证明的.

非常感谢你的帮助!

更新:再强调一点.我已经阅读了Java Concurreny in Practice,并且知道理论上存在可见性问题的示例.我正在寻找的是一种真正展示它们的方法.我不确定,这实际上是可行的,但也许有一个jvm配置或类似的东西允许它.

java multithreading visibility

30
推荐指数
3
解决办法
5383
查看次数

标签 统计

java ×1

multithreading ×1

visibility ×1