[concurrency-interest] JMM actions to statements transition

Aleksey Shipilev aleksey.shipilev at oracle.com
Fri Jul 8 06:48:35 EDT 2016


On 07/07/2016 07:00 PM, Sergey Zaytsev wrote:
> Hi all. Can somebody , please, bring some light on JMM actions ? How
> can one use such abstract term like "action" to argue about
> correctness or possible results, since there is no strict definition
> is term "action" ?

What do you mean "no strict definition"? There is JLS 17.4.2 "Actions"
that enumerate them.


> I mean is volatile read simply equals to var local = va and volatile
> write action to va = "some value" ?

This is where it gets messy. Actions and program statements are
connected with program order. More precisely, out of the entire "soup of
executions" that you may construct with arbitrary actions, you can only
select those executions where the actions of one particular thread can
be derived from the original program, to reason about that particular
program outcomes.

I thought I explained it here:
  https://shipilev.net/blog/2014/jmm-pragmatics/#_java_memory_model

Thanks,
-Aleksey

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://cs.oswego.edu/pipermail/concurrency-interest/attachments/20160708/09cf1a71/attachment.sig>


More information about the Concurrency-interest mailing list