On 19/10/17 13:10, Jonathan Wakely wrote: > There are no atomic operations on atomic objects here, so the fence > doesn't synchronize with anything.
Really? This seems rather unhelpful, to say the least. An atomic release operation X in thread A synchronizes-with an acquire fence F in thread B, if there exists an atomic read Y (with any memory order) Y reads the value written by X (or by the release sequence headed by X) Y is sequenced-before F in thread B In this case, all non-atomic and relaxed atomic stores that happen-before X in thread A will be synchronized-with all non-atomic and relaxed atomic loads from the same locations made in thread B after F. -- Andrew Haley Java Platform Lead Engineer Red Hat UK Ltd. <https://www.redhat.com> EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671