マルチスレッド機能を備えた複数のツールを実行しています。たとえば、
tool1 --threads=4 | tool2 --threads=4 | tool3 --threads=4
理想的には、12(4 * 3)スレッドを利用する必要があるとします。最初のツールは最も遅い可能性が高いため、ダウンストリームツールは要求されたスレッドのほんの一部しか利用しません。この場合、最初のツールでより多くのスレッドを提供する必要があるかもしれません。管理する方法はありますか?
ベストアンサー1
あなたの例によると、スレッド管理はパイプラインで使用されるツールに直接組み込まれています。
プロセスが使用するスレッドの数に関係なく、各プロセスには正しいスレッドがあります。一つすべての標準入力、出力およびエラー。のすべてのtool1
標準出力(引数に与えられた値に関係なく--threads
)は、の標準入力に送信されますtool2
。