Thread ThreadLocal ThreadLocalMap
Posted 技术从未如此性感
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Thread ThreadLocal ThreadLocalMap相关的知识,希望对你有一定的参考价值。
ThreadLocal<String> local1 = new ThreadLocal<>();
ThreadLocal<String> local2 = new ThreadLocal<>();
new Thread(new Runnable() {
@Override
public void run() {
local1.set("Hello");
local2.set("World");
}
}).start();
new Thread(new Runnable() {
@Override
public void run() {
local1.set("Hello");
local2.set("World");
}
}).start();
ThreadLocal用于保存线程作用域内的变量。
Thread中可以包含多个ThreadLocal变量。
Thread中有个ThreadLocalMap,ThreadLocalMap其中有一个Entry数组,Entry包装了ThreadLocal和用户设置的value
当调用ThreadLocal#set使用,会将ThreadLocal和Value包装成为一个Entry,放入到Thread中的ThreadLocalMap中。
以上是关于Thread ThreadLocal ThreadLocalMap的主要内容,如果未能解决你的问题,请参考以下文章
ThreadLocal为什么不使用Thread-value实现
Thread ThreadLocal ThreadLocalMap
Thread ThreadLocal ThreadLocalMap