首页 > 其他 > 详细

ThreatLocal的测试

时间:2020-03-31 12:00:25      阅读:46      评论:0      收藏:0      [点我收藏+]

package t1;

public class TestThread7 {
private static volatile ThreadLocal<String> userId = new ThreadLocal<String>();

public static void main(String[] args) {
Runnable r = () -> {
String name = Thread.currentThread().getName();
if ("A".equals(name)) {
userId.set("fortrot");// 当不设置此值时,会调用initialValue()方法设置为初始值null
} else {
userId.set("charlie");
}
System.out.println(name + " " + userId.get());
new A().get();
new B().get();
};
new Thread(r, "A").start();
new Thread(r, "B").start();

}

static class A {
public void get() {
System.out.println(Thread.currentThread().getName() + ":" + userId.get());
}
}

static class B {
public void get() {
System.out.println(Thread.currentThread().getName() + ":" + userId.get());
}
}

}

 

输出结果:

技术分享图片

 

ThreatLocal的测试

原文:https://www.cnblogs.com/dengw125792/p/12602971.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!