2011-09-16 7 views
0

私はサーバー上でメモリ使用量を記録するプログラムを開発中です。サーバーには複数のインスタンスが実行されており、プログラムはすべてログを記録しています。Pythonでスレッドする

私はより最適なものを見つけようとしています。

オプション

1.各インスタンスを扱うシングルスレッドプログラム、一つずつ(2つのインスタンスを仮定)。時間遅延0.5秒。
2. 1つのインスタンスを処理するダブルスレッド、時間遅延:1秒。

提案がありますか?

答えて

2

両方のオプションは完全に問題ありません。シングルスレッドのプログラムを作成する方が簡単ですので、パフォーマンス要件やタイミング制約が厳しい場合を除いて、開発を優先し、バグを減らすためにスレッドを忘れる必要があります。

+0

現在のところ、優先順位は高速ではありませんが、インスタンス数が6〜7に増え、ログファイルには基本的な統計計算が行われるため、より良い結果が得られます。 –

+0

@Parag Gupta Pythonでは、とにかく[GIL](http://stackoverflow.com/questions/1294382/what-is-a-global-interpreterlock-gil)を気にする必要がありますプログラムがCPUにバインドされている場合は 'threading'の代わりに' multiprocessing'を使用します)。それでも、私はいつももっと簡単なオプションから始めます。プログラムを慎重に設計する場合(グローバル変数を使用しない、単一のインスタンスを1回測定する独立したメソッドなど)、必要になったら複数のスレッドに切り替えることができます。 – phihag

+0

ありがとうございます。私はその場合に1つのスレッドで行くと思う。それが後で正確にならない場合は、切り替えます。 =) –

関連する問題