当我们使用“thread local”时,它是什么意思?

28 浏览
0 Comments

当我们使用“thread local”时,它是什么意思?

这个问题已经有了答案:

可能是重复的问题:

什么时候应该使用ThreadLocal变量,以及如何使用?

我知道的关于线程本地变量的是:

1)线程本地变量必须声明为public static final

2)线程本地变量是当前线程的本地变量。

admin 更改状态以发布 2023年5月23日
0
0 Comments

在你的陈述中找不到问题,但让我试试:

1) Thread Local 必须声明为 public static final。

实际上并不是这样,事实上 ThreadLocal 可以是私有的,不一定是 static 的,也可以不是 final 的。不知道你在哪里看到了这样的要求。

2) Thread Local 是当前线程的局部变量。

正确。你可以想象 ThreadLocal 是一个映射,其中键是线程,值是实际变量。但它的实现方式要好得多。

0
0 Comments

它不需要公开展示

但它本质上是一个 Map,只有当前线程可以作为键获取,当值尚未设置时,它会自动初始化

这实现了线程本地存储,因此您可以拥有“公共静态”变量,而无需在它们上面进行同步

0