能确定问题在于有两个竞争线程。事件调用中有 A,B 两个方法,只要在 A 方法下加 thread.sleep,B 方法就可以正确执行。但是 A,B 都是业务方法,调用过于庞大,有什么工具可以监视出发生竞争时的线程标识吗?
PS:bug 在于 B 方法可以执行,log 上没有打印 stack,但实际调用结果是错的。