[concurrency-interest] DirectByteBuffers and reachabilityFence

Justin Sampson jsampson at guidewire.com
Wed Dec 9 17:06:42 EST 2015


David Holmes wrote:

> You are still assuming/expecting that happens-before enforces
> temporal ordering - it doesn't.
>
> If two actions are temporally ordered: A occurs before B; and the
> spec says there is a happens-before edge between A and B, then you
> know what B can expect to see with respect to A's actions. Nothing
> more, nothing less.

I didn't say anything about temporal ordering, so I'm not sure what
you're saying can happen. Forget about synchronization actions and
just think about reads and writes. Since the completion of the
constructor happens-before the execution of the finalizer, all
reads and writes in the constructor happen-before all reads and
writes in the finalizer, because happens-before is transitive and
program order implies happens-before order. What kind of execution
are you imagining that might be problematic?

Cheers,
Justin



More information about the Concurrency-interest mailing list