什么是 ThreadLocal 变量?

Posted programb

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是 ThreadLocal 变量?相关的知识,希望对你有一定的参考价值。

ThreadLocal 是 Java 里一种特殊的变量。每个线程都有一个 ThreadLocal 就是每个线程都拥有了自己独立的一个变量,竞争条件被彻底消除了。它是为创建代价高昂的对象获取线程安全的好方法,比如你可以用 ThreadLocal 让SimpleDateFormat 变成线程安全的,因为那个类创建代价高昂且每次调用都需要创建不同的实例所以不值得在局部范围使用它,如果为每个线程提供一个自己独有的变量拷贝,将大大提高效率。首先,通过复用减少了代价高昂的对象的创建个数。其次,你在没有使用高代价的同步或者不变性的情况下获得了线程安全。

以上是关于什么是 ThreadLocal 变量?的主要内容,如果未能解决你的问题,请参考以下文章

ThreadLocal 的目的? [复制]

ThreadLocal为什么不使用Thread-value实现

理解Java ThreadLocal

ThreadLocal介绍

ThreadLocal 是什么?有什么用?

ThreadLocal 是什么?有什么用?