【问题标题】:Python Gevent run greenlet foreverPython Gevent 永远运行 greenlet
【发布时间】:2014-08-30 21:34:31
【问题描述】:

我想编写一个程序,其中包含几个永远运行的调度函数。我想为此目的使用 gevent 。他们对长期运行的greenlets有任何问题吗?

我正在编写这种格式的程序

from gevent.pool import Pool
from gevent import sleep    

class A(object):
    def a(self):
        while True:
            try:
                * do something *
            except:
                * log exception * 
            sleep(1)

if __name__ == "__main__":
    pool = Pool(5)
    obj = A()
    pool.spawn(obj.a)
    pool.join()

【问题讨论】:

    标签: python gevent greenlets


    【解决方案1】:

    除了obj 在此示例中未定义之外,它应该可以正常工作。在此示例中,您似乎不会遇到任何阻塞争用问题或 GIL 问题。这些是我在长期运行的 greenlets 中看到的唯一问题。这和内存泄漏,但这不是线程特定的问题。

    【讨论】:

    • 我将此标记为正确答案.. 我记得我决定在选择这个之前等待任何矛盾的答案,它完全让我忘记了。
    猜你喜欢
    • 1970-01-01
    • 2018-03-05
    • 1970-01-01
    • 2012-12-09
    • 2021-03-04
    • 2017-12-02
    • 2019-01-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多