RE: JavaMemoryModel: Semantics musings

From: 914 (
Date: Wed Sep 26 2001 - 09:03:57 EDT


You wrote:

 Programs that are correctly synchronized execute under sequentially
 consistent semantics. Programs with data races may exhibit
 non-sequentially consistent behavior.
 A pair of heap accesses to the same variable are conflicting if there
 are performed by different threads and at least one of them is a
 A program is correctly synchronized if and only if, for all
 sequentially consistent executions of the program, any pair of
 conflicting accesses are ordered by a happens-before relationship.
 - ---
 This isn't a complete semantics, because is says nothing at all about
 programs that contain even a single data race. But this is one of the
 base elements that people can use to reason about whether a program
 is correctly synchronized.
Is there really more to add than "the values seen from a data race are

JavaMemoryModel mailing list -

This archive was generated by hypermail 2b29 : Thu Oct 13 2005 - 07:00:35 EDT