美文网首页
ThreadLocal

ThreadLocal

作者: MentallyL | 来源:发表于2017-08-31 18:00 被阅读17次

    http://blog.csdn.net/a837199685/article/details/50806876

    自己做个笔记,上面这个文章写的挺好的,mark下
    Thread ----> ThreadLocalMap ---- > Entry[] --------> Entry ----> key value

    key 是 弱引用

    ThreadLocalMap 在get的时候,一般都会先判断entry是不是null,然后在判断Entry.get()也就是弱引用是不是null

    这里面有个问题,就是在entry里key是弱引用,可能就没了,但是entry还在,还在被entry[]数组引用,所以可能会造成value还有。所以可能导致value被内存泄露

    那怎么才能不让这种情况发生呢?

    1. Thread = null
    2. ThreadLocalMap = null (好像不能,访问级别是默认的)
    3. Entry[] = null 也不能从外面的方法没有这样的操作
    4. entry[i] = null 这种是在get set resize 方法的时候可以

    相关文章

      网友评论

          本文标题:ThreadLocal

          本文链接:https://www.haomeiwen.com/subject/wnxcjxtx.html