比如现在我们把值A通过set方法放到了Athreadlocal里即
Athreadlocal.set(A)
,那么在当前线程的ThreadLocalMap中就会有一个entry键值对,entry的key是弱引用指向Athreadlocal,entry的value是强引用指向值A。
如果entry的value是
弱
引用指向值A,那么当Athreadlocal还存在其它强引用的时候,Athreadlocal不会被回收;而值A没有其它强引用,此时值A会被回收掉,当我们再通过Athreadlocal的get方法从ThreadLocalMap中获取值得时候就获取不到了,导致了值A丢失。
版权声明:本文为minyunfei6原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。