今天我看到了FastThreadLocal。
public final V get() {
InternalThreadLocalMap threadLocalMap = InternalThreadLocalMap.get();
Object v = threadLocalMap.indexedVariable(index);
if (v != InternalThreadLocalMap.UNSET) {
return (V) v;
}
V value = initialize(threadLocalMap);
registerCleaner(threadLocalMap);
return value;
}
public final V get(InternalThreadLocalMap threadLocalMap) {
Object v = threadLocalMap.indexedVariable(index);
if (v != InternalThreadLocalMap.UNSET) {
return (V) v;
}
return initialize(threadLocalMap);
}
为什么public final V get()
方法调用registerCleaner(threadLocalMap)
方法,而public final V get(InternalThreadLocalMap threadLocalMap)
没有调用?
答案 0 :(得分:0)
registerCleaner
在最新版本中一起删除。完全不需要。