InheritableThreadLocal使用实例
时间: 2024-04-24 16:19:38 浏览: 70
InheritableThreadLocal是Java中的一个线程本地变量类,它允许子线程继承父线程的线程本地变量的值。下面是一个使用InheritableThreadLocal的示例:
```java
public class InheritableThreadLocalExample {
private static InheritableThreadLocal<String> threadLocal = new InheritableThreadLocal<>();
public static void main(String[] args) {
// 在主线程中设置线程本地变量的值
threadLocal.set("Hello, World!");
// 创建子线程并启动
Thread childThread = new Thread(() -> {
// 子线程中可以获取到父线程设置的线程本地变量的值
String value = threadLocal.get();
System.out.println("Child Thread: " + value);
});
childThread.start();
}
}
```
在上面的示例中,我们创建了一个InheritableThreadLocal对象,并在主线程中设置了线程本地变量的值为"Hello, World!"。然后,我们创建了一个子线程,并在子线程中获取到了父线程设置的线程本地变量的值,并打印输出。
这样,通过InheritableThreadLocal,子线程可以继承父线程的线程本地变量的值,实现了线程间的数据传递。
阅读全文