PDF 课件和源代码下载地址:
https://github.com/geektime-geekbang/LetsJava
作者回复: 这个隔离只是说线程在执行的时候会有自己的缓存,迟早会和主存的数据做同步的。这种缓存不是程序可以控制的,程序层面更不能加以利用。
作者回复:
先取出了list
List<Phase> phases = PHASES.get();
然后set为null
PHASES.set(null);
PHASE_START_TIME.set(null);
并不会影响已经取出来的phases。
就好像
int a = 9;
int b = a;
a = 0;
b并不是0,还是9。