admin 管理员组

文章数量: 1184232


2024年2月19日发(作者:andengine)

threadlocal 使用案例

ThreadLocal 是一个 Java 类,它为每个线程提供了一个独立的变量副本。这使得每个线程都可以拥有该变量的一个独立的副本,而不会影响其他线程的副本。ThreadLocal 通常用于实现线程安全的变量共享,特别是在多线程环境中,当多个线程需要访问和修改同一个变量时。

下面是一个简单的 ThreadLocal 使用案例:

```java

public class Example {

private static final ThreadLocal threadLocal = new

ThreadLocal<>();

public static void main(String[] args) {

for (int i = 0; i < 10; i++) {

new Thread(() -> {

(i);

n(tThread().getName()

());

}).start();

}

}

+ ": " +

}

```

在上面的代码中,我们创建了一个名为 `threadLocal` 的静态

ThreadLocal 变量。然后,在主方法中,我们创建了 10 个线程,每个线程都将一个不同的整数值设置为 `threadLocal` 变量的副本,并打印出当前线程的名称和该变量的值。由于每个线程都有自己的

`threadLocal` 变量副本,因此每个线程都可以独立地设置和访问该变量的值,而不会影响其他线程的副本。

输出结果可能如下所示:

```

Thread-0: 0

Thread-1: 1

Thread-2: 2

Thread-3: 3

Thread-4: 4

Thread-5: 5

Thread-6: 6

Thread-7: 7

Thread-8: 8

Thread-9: 9

```

可以看到,每个线程都打印出了自己设置的 `threadLocal` 变量

的值,而没有互相干扰。这就是 ThreadLocal 的基本使用案例。


本文标签: 线程 变量 副本 创建