2011-09-16 39 views
0

我正在處理記錄服務器上內存使用情況的程序。服務器有多個實例在運行,並且程序正在記錄全部。Python上的線程問題

我想弄清楚什麼會更優化。

選項
(假設兩個實例)
1.單線程程序,它處理每個實例中,一個接一個。時間延遲0.5秒。
2.雙線程,每個處理一個實例,時間延遲:1秒。

有什麼建議嗎?

回答

2

這兩個選項都非常好。請注意,編寫單線程程序比較容易,所以除非您有嚴格的性能要求或時序約束,否則您應該放棄線程以支持更快的開發和更少的錯誤。

+0

現在優先級不是快速開發,而是更好的結果,因爲有時候實例的數量會增加到6-7,並且日誌文件確實有一些基本的統計計算。 –

+0

@Parag Gupta在Python中,無論如何你必須留意[GIL](即使用(http://stackoverflow.com/questions/1294382/what-is-a-global-interpreter-lock-gil) 'multiprocessing',而不是'threading',如果你的程序是CPU綁定的)。不過,我總是從更簡單的選項開始。如果你仔細設計你的程序(例如,不要使用全局變量,有一個獨立的方法來測量一次實例等等),你可以在需要時切換到多個線程。 – phihag

+0

謝謝。我想我會在這種情況下使用單線程。如果稍後變得不準確,則會切換。 =) –