Algorithm 什么是「;make-jX“;算法

Algorithm 什么是「;make-jX“;算法,algorithm,makefile,Algorithm,Makefile,假设您有一个表示make文件中定义的依赖项的图形。什么是(an?)算法,用于确定应该以什么顺序构建依赖项,以及什么是可并行的(当使用-jX标志时) 例如,如果您有以下DEP: A: B C B: D C: D D: “D”显然需要先构建,但一旦构建完成,B和C就可以并行构建,当它们都完成时,A就可以构建了。您可以通过使用make-D打印调试信息精确地看到使用的算法。对于您的示例(我添加了echo命令以实际导致某些事情发生): 请注意这两行: Live child 0x7fdae2c09020

假设您有一个表示make文件中定义的依赖项的图形。什么是(an?)算法,用于确定应该以什么顺序构建依赖项,以及什么是可并行的(当使用-jX标志时)

例如,如果您有以下DEP:

A: B C
B: D
C: D
D: 

“D”显然需要先构建,但一旦构建完成,B和C就可以并行构建,当它们都完成时,A就可以构建了。

您可以通过使用
make-D
打印调试信息精确地看到使用的算法。对于您的示例(我添加了
echo
命令以实际导致某些事情发生):

请注意这两行:

Live child 0x7fdae2c09020 (C) PID 71734 
Live child 0x7fdae2c083c0 (B) PID 71729 

显示同时运行的
B
C
配方。

请参见,其中“图的顶点可能表示要执行的任务,边可能表示必须先执行一个任务再执行另一个任务的约束”@jwpat7:我想真正的问题是如何将顶点分配给线程。
Live child 0x7fdae2c09020 (C) PID 71734 
Live child 0x7fdae2c083c0 (B) PID 71729