threadLocal.set
时间: 2024-04-08 17:27:27 浏览: 97
ThreadLocal是Java中的一个类,它提供了一种线程局部变量的机制。每个线程都可以通过ThreadLocal的set()方法设置自己的值,而其他线程无法访问到这个值。即使是不同的线程在同一个ThreadLocal对象上设置了不同的值,它们也无法访问到对方的值[^1]。
下面是一个示例演示如何使用ThreadLocal的set()方法设置线程局部变量的值:
```java
public class ExampleThread implements Runnable {
private static ThreadLocal<Integer> threadLocal = new ThreadLocal<>();
@Override
public void run() {
// 设置线程局部变量的值
threadLocal.set((int) (Math.random() * 100));
// 获取线程局部变量的值
int value = threadLocal.get();
System.out.println("线程 " + Thread.currentThread().getName() + " 的值为:" + value);
// 清除线程局部变量的值
threadLocal.remove();
}
public static void main(String[] args) {
ExampleThread exampleThread = new ExampleThread();
// 创建并启动多个线程
Thread thread1 = new Thread(exampleThread);
Thread thread2 = new Thread(exampleThread);
thread1.start();
thread2.start();
}
}
```
运行上述代码,你会发现每个线程都能够设置和获取自己的线程局部变量的值,而无法访问到其他线程的值。
阅读全文