是否可以管理多线程命令管道的总线程数?

是否可以管理多线程命令管道的总线程数?

我正在运行几个具有多线程功能的工具。例如:

tool1 --threads=4 | tool2 --threads=4 | tool3 --threads=4

在理想情况下,我假设这应该利用 12 (4*3) 个线程。第一个工具可能是最慢的,因此下游工具将仅利用所请求线程的一小部分。在这种情况下,您可能需要为第一个工具提供更多线程。有办法管理吗?

答案1

根据您的示例,线程管理直接内置到您在管道中使用的工具中。

无论您的进程使用多少个线程,每个进程都有精确的每个标准输入、输出和错误。的所有tool1标准输出(无论为参数提供的值是什么--threads)都将发送到 的标准输入tool2,依此类推。

相关内容