对象的保存问题,一直是我们在做程序研究时所关心的。在ThreadLocal中也有着同样的 *** 作,我们可以将对象进行存储和获取。这需要对ThreadLocal的知识有一定的了解,而且用到了其中的set方法。下面我们就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的
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的对象存储和获取,关键在于掌握其中set的使用。大家如果对于这种方法还不够熟练,一定要在课后多加练习。更多Java学习指路:java教程
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)