javaThreadLocal的对象如何存储和获取

这篇文章主要介绍了java ThreadLocal的对象如何存储和获取的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇java ThreadLocal的对象如何存储和获取文章都会有所收获,下面我们一起来看看吧。

岫岩网站建设公司创新互联公司,岫岩网站设计制作,有大型网站制作公司丰富经验。已为岫岩近千家提供企业网站建设服务。企业网站搭建\成都外贸网站建设公司要多少钱,请找那个售后服务好的岫岩做网站的公司定做!

1、ThreadLocal的set方法

    public void set(T value) {
        Thread t = Thread.currentThread();
        ThreadLocalMap map = getMap(t);
        if (map != null)
            map.set(this, value);
        else
            createMap(t, value);
    }

通过ThreadLocal的set方法看出,ThreadLocalMap的结构中,key存储的是ThreadLocal本身,而value则是实际存储的值,也就是说,在ThreadLocalMap里存储了当前ThreadLocal所复制的变量副本。

2、ThreadLocal本身不存储值,在使用中,ThreadLocal是作为一个key,从ThreadLocalMap获取值,从ThreadLocal的get方法中也可以看出来:

    public T get() {
        Thread t = Thread.currentThread();
        ThreadLocalMap map = getMap(t);
        if (map != null) {
            ThreadLocalMap.Entry e = map.getEntry(this);
            if (e != null) {
                @SuppressWarnings("unchecked")
                T result = (T)e.value;
                return result;
            }
        }
        return setInitialValue();
}

关于“java ThreadLocal的对象如何存储和获取”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“java ThreadLocal的对象如何存储和获取”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注创新互联行业资讯频道。


网页题目:javaThreadLocal的对象如何存储和获取
URL链接:http://myzitong.com/article/gidchp.html