The Java memory model has become the de facto standard for other general-purpose languages, including C++. I will first explain why a memory model is needed. I'll talk about the importance of sequential consistency and how it is implemented in the JVM.
Bartosz has a Ph.D. in theoretical physics. He switched to programming to work for Microsoft, where he was the lead developer of the content index (a search engine before the Internet took off). He published a book, "C++ In Action," and regularly contributes to professional publications. His latest interest is concurrency--both the big picture and the low level details. He regularly blogs about it at BartoszMilewski.wordpress.com