当我们使用ThreadLocal.set(value)时,我们只使用相同的键保存一个值,那么为什么ThreadLocalMap使用Entry []而不是Entry来保存值?
答案 0 :(得分:0)
ThreadLocal
是一个哈希表,它维护与线程关联的所有Thread.threadLocals
个对象,而不仅仅是单个项目。此表存储在package-private ThreadLocal.set
实例变量中。
Thread.threadLocals
更新export const enum Type {
'OPTION_NR1',
'OPTION_NR2'
}
地图中的值:http://hg.openjdk.java.net/jdk8/jdk8/jdk/file/tip/src/share/classes/java/lang/ThreadLocal.java#l190
答案 1 :(得分:0)
因为Thread可以设置多个val
ThreadLocalMap.set(ThreadLocal<?> key, Object value)
关键是ThreadLocal,所以线程可以通过不同的ThreadLocal设置多个val