invite
V2EX  ›  问与答

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

  •  
  •   invite · Mar 8, 2015 · 3468 views
    This topic created in 4127 days ago, the information mentioned may be changed or developed.

    现在的情况是这样的:

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

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

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

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

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

    4 replies    2015-03-08 20:37:23 +08:00
    googlebot
        1
    googlebot  
       Mar 8, 2015
    gevent?
    monnand
        2
    monnand  
       Mar 8, 2015
    不知道你用的是哪个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/)。细节就参考链接里的内容吧,我就不罗嗦了。
    R4rvZ6agNVWr56V0
        4
    R4rvZ6agNVWr56V0  
       Mar 8, 2015
    gevent
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4587 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 04:04 · PVG 12:04 · LAX 21:04 · JFK 00:04
    ♥ Do have faith in what you're doing.