有没有 线程池 + 生产者、消费者的 Python 模块?

2015-03-08 13:00:06 +08:00
 invite

现在的情况是这样的:

做完一件事情,有两个步骤, A 和 B, B 需要在 A 完成后才能执行。

目前步骤A消耗系统资源较少,所以希望有 X 大小的线程池。

而步骤B消耗系统资源较多,因此只有 Y 大小的线程池。

而类似的事情有很多件,目前只用线程池的时候, 需要等到所有的步骤A结束才能做B步骤。

有没有现成的线程池 + 生产者、消费者结合起来的模块?来满足不同步骤使用不同大小的线程池?

2852 次点击
所在节点    问与答
4 条回复
googlebot
2015-03-08 13:59:52 +08:00
gevent?
monnand
2015-03-08 14:06:31 +08:00
不知道你用的是哪个python解释器/虚拟机,如果是CPython,那么使用线程之前,最好考虑一下[GIL](https://wiki.python.org/moin/GlobalInterpreterLock)的问题。

至于你的问题,可以考虑[asyncio](https://docs.python.org/3/library/asyncio-task.html)。另外,也可以考虑[stackless python](http://www.stackless.com/)。细节就参考链接里的内容吧,我就不罗嗦了。
dingyaguang117
2015-03-08 14:26:51 +08:00
GeekGao
2015-03-08 20:37:23 +08:00
gevent

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/175315

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX