2012-07-26 62 views
0

我找到了一段代碼在線演示Python中的Queued多線程。
http://code.activestate.com/recipes/577187-python-thread-pool/
我試過了,它似乎工作。
除了我正在運行Python版本2.3。
線程完成後抱怨沒有屬性'task_done''加入' 我搜索了一下,發現Queue.task_done()和Queue.join()來自版本2.5或更高版本。
在這種情況下,我最好的選擇是什麼?
FYI:我嘗試註釋掉第17行:self.tasks.task_done()
它看起來像代碼除了每個線程後,會出現這個錯誤運行完成完成
self.tasks.join()
AttributeError的:隊列實例沒有屬性'join'
我使用'top'來檢查程序啓動的線程數與我指定的完全一致。
程序結束後,Linux shell變得無響應。Python版本2.3替代Queue.Queue.task_done()

+0

您有使用2.3的令人信服的理由嗎? – 2012-07-26 01:03:06

+0

我不能控制我的用戶機器上安裝了哪個版本的Python。 – elgnoh 2012-07-26 01:10:53

回答

0

您可能可以從更新版本的Python中複製Queue.py文件,並將其複製到您的項目中。我不知道代碼是否依賴於新特性,但如果它不符合,那麼你就全部設置好了。