我可以“强制”并行执行依赖目标吗?

时间:2019-05-17 17:03:17

标签: shake-build-system

说我有一个依赖于A的目标B,但是我可以并行运行AB。摇一摇有可能吗?看来need ...使动作按顺序进行,这当然是完全合理的,但这是“特殊”情况。

1 个答案:

答案 0 :(得分:0)

给出:

"A" %> \_ -> do need ["B"]; ...
"B" %> \_ -> ...

如果您执行need ["A","B"],则它将并行启动AB,但是A操作将立即暂停,直到B完成。出于什么原因,并行运行AB是安全的吗?如果在A更改时需要重新运行B计算的操作,但实际上并没有使用B本身,则可以重新排序为:

"A" %> \_ -> do ...; need ["B"]

但是,如果A中的操作实际上使用了B,则没有真正的方法可以并行运行它们。