Unconventional memory model extensions in practice
summary
Covers practical use of Java memory-model semantics in real-world code: examines how different Java concurrency guarantees are applied, analyzes the Disruptor library, and shows how to implement a custom, sometimes faster, lock-free queue. Targets multithreading, memory models, and popular lock-free libraries.
AI-written summary · about
chapters (13)
- 0:00Introduction
- 1:45What memory semantics are
- 3:55Singleton sync problem
- 7:32Singleton constructor issue
- 11:42Single-producer queue
- 19:53Performance comparisons
- 21:19Cache coherence problem
- 23:48Cache-line queue optimization
- 28:27Disruptor comparison
- 31:40Disruptor slow consumers
- 33:28Optimistic version locking
- 41:18Versioned queue implementation
- 45:29Summary and warnings
related talks
48mNot Just Happens-Before: Unconventional Semantics
22mJava Memory Model
36mConcurrency — Java Memory Model — Not Just for Eagles
58mClose Encounters of the JMM Kind
51mMemory Model: Get your shared data under control
41mEverything You Don’t Want to Know About Concurrency on the JVM
41mJava Memory Consistency Model
40mA practical approach to Java Memory Model
