ytyht226/taskflow

DagEngine中CountDownLatch的使用顺序优化

Closed this issue · 4 comments

syncLatch.countDown();
是否应该需要提前到finally的最开始进行执行。否则会出现无法正常结束DAG任务,一定需要等待到超时的情况

syncLatch.countDown(); 是否应该需要提前到finally的最开始进行执行。否则会出现无法正常结束DAG任务,一定需要等待到超时的情况

image
红框中的部分都属于当前节点主逻辑之后的后处理逻辑,需要执行完才能将信号量减一尝试唤醒阻塞线程;
“否则会出现无法正常结束DAG任务” -- 另外,这种情况指的是?

最后一个wrapper阶段在执行到这句话之后就不会进行后续流程了
DagContextHolder.putOperatorResult(wrapper.getId(), wrapper.getOperatorResult());

最后一个wrapper阶段在执行到这句话之后就不会进行后续流程了 DagContextHolder.putOperatorResult(wrapper.getId(), wrapper.getOperatorResult());

我这看着没问题,例子中3个节点依次串行执行,把你的代码分支提交下我看看?
image
image