19 May
2014
19 May
'14
6:31 p.m.
On May 16, 2014, at 4:56 AM, Tobias Hartmann <tobias.hartmann@oracle.com> wrote:
Is it sufficient then to use synchronized (lambdaForms) { ... } in setCachedLambdaForm(..) and a normal read in cachedLambdaForm(..)?
Yes, that is how I see it. The fast path is a racy non-volatile read of a safely-published structure. (If safe publication via arrays were broken, java.lang.String would be broken. But the JMM is carefully designed to support safe publication of array elements, and through array elements.) — John