我可以 "force" 并行执行依赖目标吗?
Can I "force" parallel execution of dependent targets?
假设我有一个目标 A
依赖于 B
,但我可以 运行 A
和 B
并行。 Shake 这可能吗?似乎 need ...
使动作顺序进行,这当然是完全有道理的,但这是 "special" 的情况。
给定:
"A" %> \_ -> do need ["B"]; ...
"B" %> \_ -> ...
如果您执行 need ["A","B"]
,那么它将同时启动 A
和 B
,但是 A
操作将立即暂停,直到 B
完成.为什么并行 运行 A
和 B
是安全的?如果 A
计算的动作需要在 B
更改时重新 运行,但实际上并不使用 B
本身,您可以重新排序为:
"A" %> \_ -> do ...; need ["B"]
但是,如果 A
中的操作实际上使用了 B
那么就没有真正的方法可以 运行 它们并行。
假设我有一个目标 A
依赖于 B
,但我可以 运行 A
和 B
并行。 Shake 这可能吗?似乎 need ...
使动作顺序进行,这当然是完全有道理的,但这是 "special" 的情况。
给定:
"A" %> \_ -> do need ["B"]; ...
"B" %> \_ -> ...
如果您执行 need ["A","B"]
,那么它将同时启动 A
和 B
,但是 A
操作将立即暂停,直到 B
完成.为什么并行 运行 A
和 B
是安全的?如果 A
计算的动作需要在 B
更改时重新 运行,但实际上并不使用 B
本身,您可以重新排序为:
"A" %> \_ -> do ...; need ["B"]
但是,如果 A
中的操作实际上使用了 B
那么就没有真正的方法可以 运行 它们并行。