gpt4 book ai didi

java - ThreadLocal 与线程局部变量

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:57:14 27 4
gpt4 key购买 nike

ThreadLocal.get/put有什么区别和

class ThreadT extends Thread {
private SomeObj obj;
.....
}

我相信,如果我错了,请指正我,这个obj也会因线程而异。即,如果我们有 5 个 ThreadT 对象,我们将让每五个对象具有不同的 obj 对象。

那么如果是这样的话,那我们为什么还要有使用ThreadLocal的需求呢?

如果我对两者的理解有误,请指正。

最佳答案

来自文档

此类提供线程局部变量。这些变量与其普通变量的不同之处在于,每个访问一个变量(通过其 get 或 set 方法)的线程都有其自己的、独立初始化的变量副本。

如果您正在编写直接扩展线程的类,那么您的方法将会奏效。但是那些需要 ThreadLocal 变量但不能直接访问它的 Thread 实例的类呢?

在这种情况下,ThreadLocal 很有用。特别是在大多数情况下您不直接使用线程的服务器环境中。

关于java - ThreadLocal 与线程局部变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16411242/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com