File tree Expand file tree Collapse file tree 1 file changed +5
-6
lines changed Expand file tree Collapse file tree 1 file changed +5
-6
lines changed Original file line number Diff line number Diff line change @@ -32,17 +32,16 @@ time-consuming and error-prone.
32
32
# Ruby memory model
33
33
34
34
The Ruby memory model is a framework allowing to reason about programs in
35
- concurrent and parallel environment. It allows to identify what is and what
36
- is not a [ race condition] ( https://en.wikipedia.org/wiki/Race_condition ) .
37
- The memory model is also a contract: if a program is written without race
38
- conditions it behaves in
39
- [ sequential consistent] ( https://en.wikipedia.org/wiki/Sequential_consistency )
40
- manner.
35
+ concurrent and parallel environment. It defines what variable writes can be
36
+ observed by a particular variable read, which is essential to be able to
37
+ determine if a program is correct. It is achieved be defining what subset of
38
+ all possible program execution orders is allowed.
41
39
42
40
A memory model sources:
43
41
44
42
- [ Java memory model] ( http://www.cs.umd.edu/~pugh/java/memoryModel/ ) ,
45
43
and its [ FAQ] ( http://www.cs.umd.edu/~pugh/java/memoryModel/jsr-133-faq.html )
44
+ - [ Java Memory Model Pragmatics] ( http://shipilev.net/blog/2014/jmm-pragmatics/ )
46
45
- [ atomic< ;> ; Weapons 1] ( https://channel9.msdn.com/Shows/Going+Deep/Cpp-and-Beyond-2012-Herb-Sutter-atomic-Weapons-1-of-2 )
47
46
and
48
47
[ 2] ( https://channel9.msdn.com/Shows/Going+Deep/Cpp-and-Beyond-2012-Herb-Sutter-atomic-Weapons-2-of-2 )
You can’t perform that action at this time.
0 commit comments