首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python2.3版替代了Queue.Queue.task_done()

问Python2.3版替代了Queue.Queue.task_done()
EN

Stack Overflow用户
提问于 2012-07-26 08:17:37
回答 1查看 664关注 0票数 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()

看起来代码可以运行到完成,除了在每个线程完成后看到这个错误

代码语言:javascript
复制
     self.tasks.join()
代码语言:javascript
复制
 AttributeError: Queue instance has no attribute 'join'

我使用'top‘来检查程序启动的线程数是否与我指定的完全一致。

在程序结束后,Linux shell变得没有响应。

EN

回答 1

Stack Overflow用户

发布于 2012-07-26 08:26:25

您可以从较新版本的Python复制Queue.py文件,并将其复制到您的项目中。我不知道代码是否依赖于较新的特性,但如果不是,那么一切都已就绪。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11660601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档