3 ms·
C++ extended the Java memory model to include atomics, and everyone else copied the C++ atomics memory model. Basically, it goes: * Original data-race-free mo
by jcranmer 3y ago
C++ extended the Java memory model to include atomics, and everyone else copied the C++ atomics memory model.
Basically, it goes:
* Original data-race-free model (early 90s)
* Java 5 memory model (~2004-5) [first incorporated into the programming language, as I'm aware]
* C++0x memory model (finalized 2007-2008, IIRC) [added atomics]
* Compilers build their internal intrinsics on top of C++0x, sans consume
* Everyone else adopts either the C++ memory model as is, or without consume
(Sibling comment notes that Java 9 backports the atomics from C++).