マルチスレッドコマンドパイプラインのスレッドの総数を管理できますか?

マルチスレッドコマンドパイプラインのスレッドの総数を管理できますか?

マルチスレッド機能を備えた複数のツールを実行しています。たとえば、

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

理想的には、12(4 * 3)スレッドを利用する必要があるとします。最初のツールは最も遅い可能性が高いため、ダウンストリームツールは要求されたスレッドのほんの一部しか利用しません。この場合、最初のツールでより多くのスレッドを提供する必要があるかもしれません。管理する方法はありますか?

ベストアンサー1

あなたの例によると、スレッド管理はパイプラインで使用されるツールに直接組み込まれています。

プロセスが使用するスレッドの数に関係なく、各プロセスには正しいスレッドがあります。一つすべての標準入力、出力およびエラー。のすべてのtool1標準出力(引数に与えられた値に関係なく--threads)は、の標準入力に送信されますtool2

おすすめ記事