在 Java 中观察一些并发技巧的工作示例?

A working example to observe some concurrency tricks in Java?

我一直在阅读有关并发性、JMM 以及如何对操作进行重新排序以及如何仅从另一个线程部分构造的对象等方面的内容。

我在 "real life" 中从未见过那些。我能否有一个工作示例至少在某些时候演示那些不明显的 concurrency/JMM 技巧?这样的例子比纯粹的理论知识要好得多。

我的意思是,展示意外行为的示例,而不是如何正确执行的示例

有几个示例(例如:JavaConcurrency) available on $subject. And there's a great book on java concurrency Java Concurrency in Practice。如果您还没有看过,请阅读它。 希望对你有帮助。

一些例子是

Showing when volatile is really needed.

False Sharing and Java 7

我建议你阅读其余的博客(我写了第一篇)

更多这方面的优秀博客。

Nitsan's Blog

Dr Hienz Kabutz blog

Jack Sharazi's blog

最后但同样重要的是,所有这些人都是 Performance Java User's Group 的成员,拥有超过 1900 名成员。它有来自 40 多位演讲者的 100 多场关于 Java 表演的演讲。