我想写一个程序,让几个计划间函数永远运行。我想用gevent来达到这个目的。他们对长期运行的绿绿灯有什么问题吗?
我正在写一个这种格式的程序
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()
除了本例中未定义obj
之外,它应该可以正常工作。在本例中,您似乎不会遇到任何阻塞争用问题或GIL问题。这些是我在长期运行的绿绿灯中看到的唯一问题。这和内存泄漏,但这不是线程特定的问题。