ThreadLocal类

来源:互联网 发布:贵州省数据统计局 编辑:程序博客网 时间:2024/05/16 12:00

ThreadLocal能使线程中的某个值与保存值的对象关联起来。


ThreadLocal提供了get和set等访问接口或方法,这些方法为每个使用该变量的线程都存有一份独立的副本,

因此get总是返回由当前执行线程在调用set时设置的最新值。


ThreadLocal对象通常用于防止对可变的单实例遍历或全局变量进行共享(比如一个全局的数据库连接)


当某个线程初次调用ThreadLocal.get方法时,就会调用initialValue来获取初始值。从概念上看,可以将ThreadLocal<T>视为包含了Map<Thread, T>对象,其中保存了特定于该线程的值,但ThreadLocal并非如此,这些特定于线程的值保存在Thread中,当线程终止后,这些值会作为垃圾回收