> Could someone kindlly tell me:
>
> What do the variables a and b have to do with anything? Where
> do b1 and b2 come from?
Slight typo there: that should be x == y == false, not a == b == false.
b1 and b2 are local boolean variables.
You will find us doing that a lot: we tend not to declare the local
variables.
I hope that helps. The basic idea is that x == true and y == false cannot
happen. Also, by the same principle, x == false and y == true cannot
happen, and the point is made elsewhere that x == y == true cannot happen.
x == false and y == true (or vice versa) cannot happen, formally speaking,
because that is not what we call a "consistent" execution. The reads are
not "allowed", by our definition of "allowed" (which is right near the
figure).
x == true and y == true cannot happen for a different reason: i.e., the
writes cause each other to happen. We disallow this sort of causality
loop.
Jeremy
-------------------------------
JavaMemoryModel mailing list - http://www.cs.umd.edu/~pugh/java/memoryModel
This archive was generated by hypermail 2b29 : Thu Oct 13 2005 - 07:00:42 EDT