Before any decisions are made based on "intuitiveness:"
I have a request pending with Bill to send us the *full* intuitive model.
The version I have seen so far isn't good enough -
The version so far from a previous message from Bill:
We have now moved to a very simple semantics: consistency and
1) Consistency requires that behavior is consistent with both
semantics and the write visibility enforced by the
2) Causality means that an action cannot cause itself to happen. In
words, it must be possible to explain how a execution
there existing an action x requiring that x be assumed to
occur in order to
show that x did occur.
That's it for the core model (excluding stuff like final fields,
One problem with this version is that it does not cover the prohibited reads
material in the model. Without that, the intuition is incomplete. The
example in the CnC document that motivates prohibited reads shows that
causality isn't always respected in the model, and so it is incorrect to
have programmers use the above intuition. There is also a problem with the
way causality is defined above and the way it is used in the model, but I
should wait until the next revision of the above to comment on that.
Also, I will summarize my intuition in a bit for those who do not have the
time to go through the document.
> -----Original Message-----
> From: email@example.com
> [mailto:firstname.lastname@example.org] On Behalf Of Joshua Bloch
> Sent: Monday, July 28, 2003 12:24 PM
> To: email@example.com
> Subject: Re: JavaMemoryModel: Agreement to disagree: where
> things stand
> I prefer the stronger model because it's more intuitive, yet weak
> enough to permit reasonable compiler optimization.
> JavaMemoryModel mailing list -
JavaMemoryModel mailing list - http://www.cs.umd.edu/~pugh/java/memoryModel
This archive was generated by hypermail 2b29 : Thu Oct 13 2005 - 07:00:47 EDT