0

我在网上找到了一段代码,演示 Python 中的排队多线程。
http://code.activestate.com/recipes/577187-python-thread-pool/
我试过了,它似乎工作。
除了我正在运行 python 2.3 版。
线程完成后它抱怨没有属性'task_done''join' 我搜索了一下,发现 Queue.task_done() 和 Queue.join() 带有 2.5 或更高版本。
在这种情况下,我最好的选择是什么?
仅供参考:我尝试注释掉第 17 行:self.tasks.task_done()
看起来代码可以运行到完成,除了在每个线程完成后看到此错误
self.tasks.join()
AttributeError: Queue instance has no attribute 'join'
我使用'top'来检查程序启动的线程数正是我指定的。
程序完成后,Linux shell 变得无响应。

4

1 回答 1

0

您也许可以从更新的 Python 版本中复制 Queue.py 文件,并将其复制到您的项目中。我不知道代码是否依赖于较新的功能,但如果不依赖,那么你就准备好了。

于 2012-07-26T00:26:25.133 回答