netty FastThreadLocal说明
相关类与接口
FastThreadLocal
public class FastThreadLocal<V> {
private static final int variablesToRemoveIndex = InternalThreadLocalMap.nextVariableIndex();
private final int index = InternalThreadLocalMap.nextVariableIndex();
public static void removeAll() { //删除所有线程存储的值
InternalThreadLocalMap threadLocalMap = InternalThreadLocalMap.getIfSet();
if (threadLocalMap != null) {
try {
Object v = threadLocalMap.indexedVariable(variablesToRemoveIndex);
if (v != null && v != InternalThreadLocalMap.UNSET) {
Set<FastThreadLocal<?>> variablesToRemove = (Set)v;
FastThreadLocal<?>[] variablesToRemoveArray = (FastThreadLocal[])variablesToRemove.toArray(new FastThreadLocal[0]);
FastThreadLocal[] var4 = variablesToRemoveArray;
int var5 = variablesToRemoveArray.length;
for(int var6 = 0; var6 < var5; ++var6) {
FastThreadLocal<?> tlv = var4[var6];
tlv.remove(threadLocalMap);
}
}
} finally {
InternalThreadLocalMap.remove();
}
}
}
public static int size() { /