RE: JavaMemoryModel: Semantics musings

From: 914 (alpern@watson.ibm.com)
Date: Wed Sep 26 2001 - 09:03:57 EDT


Bill,

You wrote:

  <snip>
 
 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
 write.
 
 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.
 
 Bill
 
Is there really more to add than "the values seen from a data race are
unspecified"?

        Bowen
 
-------------------------------
JavaMemoryModel mailing list - http://www.cs.umd.edu/~pugh/java/memoryModel



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