为什么netty FastThreadLocal公共最终V get(InternalThreadLocalMap threadLocalMap)不调用registerCleaner方法?

时间:2019-04-12 01:36:53

标签: java netty

今天我看到了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)没有调用?

1 个答案:

答案 0 :(得分:0)

registerCleaner在最新版本中一起删除。完全不需要。