我使用inheritablethreadlocal为线程和子线程准备数据。
static InheritableThreadLocal<SomeType> instance
另外,我正在使用类似这样的并行流:
someStream.parallel().forEach(this::doSomething);
另外,我正在使用spring aop,它将通过剂量测量法触发:
@Around(value = "within(package.SomeService+)")
public Object execution(ProceedingJoinPoint proceedingJoinPoint) throws Throwable {
instance.get(); // sometimes value is null sometimes not
}
除了在aop执行方法内部,inheritablethreadlocal在任何地方都可以正常工作。有时示例不包含值。你知道为什么吗?这与parallel stream有关,如果我将示例的值设置为parallel stream函数的第一行,那么我就没有问题了。你知道原因还是我错过了什么?
暂无答案!
目前还没有任何答案,快来回答吧!