The idea is to avoid the costly synchronization for all invocations of the method except the first.
这个想法是为了避免对除第一次调用外的所有调用都实行同步的昂贵代价。
2
However, because the method is synchronized, you pay the cost ofsynchronization for every invocation of the method, even though it is only required on the first invocation.
The real value here is that the getWhatImReading method is executed without synchronizationof any kind, whereas the setWhatImReading is executed as an atomic operation.