Class FastThreadLocal<V>
java.lang.Object
org.miaixz.bus.core.lang.thread.threadlocal.FastThreadLocal<V>
ThreadLocal 的一个特殊变体 当从 SpecificThread 访问时,可产生更高的访问性能。 SpecificThread
使用数组中的常量索引(而不是使用哈希码和哈希表)来查找变量。 虽然看似非常微妙,但它比使用哈希表具有轻微的性能优势,并且在频繁访问时很有用。- Since:
- Java 17+
- Author:
- Kimi Liu
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voiddestroy()销毁保存所有从非SpecificThread访问的FastThreadLocal变量的数据结构 当处于容器环境中,并且不想将线程局部变量留在未管理的线程中时,此操作非常有用。 当应用程序从容器中卸载时,请调用此方法。final Vget()获取当前线程的ThreadLocalMap中的当前线程的valueprotected V初始化参数 由子类重写protected void当此线程局部变量被remove()删除时的回调 由子类重写final voidremove()清除当前的ThreadLocalfinal voidremove(ThreadLocalMap threadLocalMap) 将指定线程本地映射的值设置为未初始化 对 get() 的继续调用将触发对 initialValue() 的调用 指定的线程本地映射必须适用于当前线程。static void删除与当前线程绑定的所有FastThreadLocal变量。 当处于容器环境中,并且不想将线程局部变量留在未管理的线程中时,此操作非常有用final void设置当前线程的值static intsize()返回绑定到当前线程的线程局部变量的数量
-
Constructor Details
-
FastThreadLocal
public FastThreadLocal()构造
-
-
Method Details
-
size
public static int size()返回绑定到当前线程的线程局部变量的数量 -
removeAll
public static void removeAll()删除与当前线程绑定的所有FastThreadLocal变量。 当处于容器环境中,并且不想将线程局部变量留在未管理的线程中时,此操作非常有用 -
destroy
public static void destroy()销毁保存所有从非SpecificThread访问的FastThreadLocal变量的数据结构 当处于容器环境中,并且不想将线程局部变量留在未管理的线程中时,此操作非常有用。 当应用程序从容器中卸载时,请调用此方法。 -
get
获取当前线程的ThreadLocalMap中的当前线程的value -
set
设置当前线程的值- Parameters:
value- 线程值
-
remove
public final void remove()清除当前的ThreadLocal -
remove
将指定线程本地映射的值设置为未初始化 对 get() 的继续调用将触发对 initialValue() 的调用 指定的线程本地映射必须适用于当前线程。 -
initialValue
初始化参数 由子类重写 -
onRemoval
当此线程局部变量被remove()删除时的回调 由子类重写
-