美文网首页
Threadlocal说明

Threadlocal说明

作者: 任嘉平生愿 | 来源:发表于2019-11-10 21:40 被阅读0次

    Threadlocal示意图

    示意图

    每个Thread中有个变量threadlocal是一个ThreadlocalMap类型

    ThreadlocalMap 中的key是threadlocal引用,value就是我们存的值。

    Threadlocal中的方法

    protected Object initialValue() 

    void set(Object value) 

    public Object get()

    public void remove()

    protected Object initialValue() 

    存在内存泄露的原因

    当threadlocal没回收以后原来的key就指向null,value还在但是没有实际的作用(内存泄漏)。所以需要调用set,get,remove将key为null的删除。

    Threadlocal实际场景

    Spring的事务就借助了ThreadLocal类。Spring会从数据库连接池中获得一个connection,然会把connection放进ThreadLocal中,也就和线程绑定了,事务需要提交或者回滚,只要从ThreadLocal中拿到connection进行操作。

    相关文章

      网友评论

          本文标题:Threadlocal说明

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