/**
* ThreadLocal:每个线程自身的本地、局部存储区域
* get/set/initialValue
* @author Jack
*
*/
public class ThreadLocalTest01 {
//private static ThreadLocal<Integer> threadLocal = new ThreadLocal<Integer>();
//更改初始化的值(默认是null)
private static ThreadLocal<Integer> threadLocal = new ThreadLocal<Integer>(){
protected Integer initialValue() {
return 200;
};
};
public static void main(String[] args) {
//获取值
System.out.println(Thread.currentThread().getName()+"-->"+threadLocal.get());
//设置值
threadLocal.set(99);
System.out.println(Thread.currentThread().getName()+"-->"+threadLocal.get());
new Thread(new MyRun()).start();
}
public static class MyRun implements Runnable{
@Override
public void run() {
threadLocal.set((int)(Math.random()*99));
System.out.println(Thread.currentThread().getName()+"-->"+threadLocal.get());
}
}
}
线程的局部存储空间ThreadLocal
最新推荐文章于 2025-09-19 10:15:00 发布
本文介绍了一个简单的ThreadLocal示例,展示了如何为每个线程设置和获取独立的变量副本。通过覆盖initialValue()方法来初始化ThreadLocal变量,并演示了在主线程和子线程中设置不同值的过程。
1126

被折叠的 条评论
为什么被折叠?



