2016-04-19 7 views
0

私はPythonでプログラムを書いた、マルチスレッドを使用して、私はいくつのスレッドがタイミングとすべての統計情報で実行されたか知りたいのですが、デバッガを使用する方法がありますその結果は?スレッド数のPython

PS:私はPyCharmを使用しています。次のように

答えて

1

あなたは裸threadのではなく、threadingモジュールを使用していると仮定すると、あなたはthreading.activeCount()を使用することができます。

num_threads = threading.activeCount() 

スレッドの量を取得します。スレッドに自分自身を取得するには、threading.enumerate()を使用します:Threadオブジェクトは、メタデータのかなり乏しいよう

for th in threading.enumerate(): 
    # do whatever. 

限り、タイミングやその他の統計情報など、手動でこれらを追跡する必要があり、それが見えます。

+0

私はthreading.activeCount()を実際にスレッドの数を計算するために使用しましたが、そうするためにはコードを修正しなければならず、ちょっと醜いです。実際に私はWindowsのプロセスエクスプローラがコードそのものに触れることなくこのような種類の統計には本当に素晴らしいと知っていましたが、Pythonに特別な方法があり、コードに触れることなくリアルタイム統計があるかどうかを知りたかったのです。 –

+0

通常、OSはプロセスとスレッドを制御するため、この種の作業にはOSレベルツールが適しています。あなたのコード内でこの情報に基づいて意思決定をする必要があるならば、あなたが必要とするものを 'os'モジュールで見つけることができます。このモジュールは、プログラムが実行されているどのOSでもインタフェースを提供します。https://docs.python。 org/2/library/os.html楽しい時間を過ごしましょう – Will

関連する問題