我想编写一个程序,其中包含永久运行的多个计划间函数。我想过为此目的使用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()
答案 0 :(得分:1)
除了在此示例中未定义obj
之外,它应该可以正常工作。在此示例中,您似乎不会遇到任何阻塞争用问题或GIL问题。这是我在长期运行的greenlets中遇到的唯一问题。那和内存泄漏,但这不是特定于线程的问题。