in core/src/main/java/com/alibaba/smart/framework/engine/util/InheritableTaskWithCache.java [91:114]
public Void call() throws Exception {
boolean isSet = false;
Thread currentThread = Thread.currentThread();
Field field = getInheritableThreadLocalsField();
try {
if (obj != null && field != null) {
field.set(currentThread, obj);
obj = null;
isSet = true;
}
// 执行任务
runTask();
} catch (Exception e) {
throw new IllegalStateException(e);
} finally {
// 最后将线程中的InheritableThreadLocals设置为null
try {
field.set(currentThread, null);
} catch (Exception e) {
throw new IllegalStateException(e);
}
}
return null;
}