0

我一直在使用線程級在很多我的Python代碼運行的單個線程,併成功地做一些例行爲多線程運行。問題是什麼時候出現問題,調試時會變得很痛苦。這是我的代碼塊的樣子:執行多線程程序

threads = [] 
for argument in get_file_method(): 
    thread = threading.Thread(self._routine, argument) 
    thread.start() 
    threads.append(thread) 

# Wait for all threads to complete 
for thread in threads: 
    filename = thread.join() 

問題是,我如何強制程序以單線程運行,以便於調試。

+1

這沒有意義。例程的運行時間和順序如何? – Eevee

回答

2

標準庫中有一個dummy_threading模塊,您可以使用它來代替threading。它提供了相同的界面,但按順序運行代碼(線程完成時返回start)。當然,你的線程不能相互依賴並行工作。

import dummy_threading as threading 
+0

謝謝Janne Karila,這有助於。但是,有沒有一種方法可以明確指定程序允許產生多少線程? – superface

+0

@superface我會說你的程序應該控制它產生的線程數。也許這對你有用:[與多處理池相似的Python線程池](http://stackoverflow.com/q/3033952/222914) –