From 12308e3f17e38c44efe3969570a81b1abe1020bc Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sat, 16 May 2015 15:18:50 -0600 Subject: [PATCH] clarify in docs that threads provide sequential consistency --- pkgs/racket-doc/scribblings/reference/eval-model.scrbl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/racket-doc/scribblings/reference/eval-model.scrbl b/pkgs/racket-doc/scribblings/reference/eval-model.scrbl index 104e70d0ca..61578604b2 100644 --- a/pkgs/racket-doc/scribblings/reference/eval-model.scrbl +++ b/pkgs/racket-doc/scribblings/reference/eval-model.scrbl @@ -904,7 +904,9 @@ Threads are created explicitly by functions such as @racket[thread]. In terms of the evaluation model, each step in evaluation actually consists of multiple concurrent expressions, up to one per thread, rather than a single expression. The expressions all share the same objects and top-level variables, so that they can -communicate through shared state. Most evaluation steps involve a +communicate through shared state, and sequential consistency is +guaranteed (i.e., the result is consistent with some global sequence +imposed on all evaluation steps across threads). Most evaluation steps involve a single step in a single expression, but certain synchronization primitives require multiple threads to progress together in one step.