私はPython 2.7を使用しています。私は、スレッドがsubprocess
モジュールを使ってコマンドを起動するマルチスレッドプログラムを持っています。プロセスはシステム上で実行され、時々スレッドにデータを報告します。プロセスの大部分はプロセスで実行されます。スレッドは、プロセスから情報を取り出し、ファイルに書き込むだけです。Pythonでスレッドと組み合わせてサブプロセスを使用する効率
私は、Pythonでのマルチスレッドの使用には制限があることを理解します。しかし、この場合は、システムによって実行されるすべての重労働が予想されます(Linux)。これは、起動されるサブプロセスがCPUを集中的に処理するためです。したがって、スレッドは負荷を持ち運ぶ必要がないため、ボトルネックになってはいけません。
私はスレッドとサブプロセスをPythonで正確に使うことを理解していますか?これらの異なるサブプロセスは異なるコア上で動作することができるというのが私の理解の基本的な部分だと思うので、スレッドが1つのコアにバインドされていても、プロセスは効率的に実行され、
はい、あなたは正しいです。 PythonのGILでは、一度に1つのスレッドしか実行できませんが、そのルールはPythonプロセスにのみ適用されます。すべてのサブプロセスは独立して実行されます。 Pythonスレッドはほとんどの場合、サブプロセスからのデータを待っているだけなので、互いに干渉しません。 – tdelaney