代码位置: com.nageoffer.ai.ragent.infra.chat.RoutingLLMService.ProbeBufferingCallback
commit() 和 bufferOrDispatch() 之间存在并发竞态:commit() 在 synchronized 块内完成状态切换和快照拷贝后,在锁外遍历回放;
而回调线程看到 committed == true 后,也在锁外直接调用 dispatch()。可能导致流式输出信息次序错乱。
建议可以添加标志位确保只有一个线程在执行 dispatch(event)。
代码位置:
com.nageoffer.ai.ragent.infra.chat.RoutingLLMService.ProbeBufferingCallbackcommit() 和 bufferOrDispatch() 之间存在并发竞态:commit() 在 synchronized 块内完成状态切换和快照拷贝后,在锁外遍历回放;
而回调线程看到 committed == true 后,也在锁外直接调用 dispatch()。可能导致流式输出信息次序错乱。
建议可以添加标志位确保只有一个线程在执行
dispatch(event)。