Python Gevent 永久运行 greenlet
我想写一个程序,里面有几个可以一直运行的函数。我考虑使用gevent来实现这个目的。请问长时间运行的greenlet会有什么问题吗?
我正在写一个这样的程序
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()
1 个回答
1
除了这个例子中没有定义obj
以外,其他部分应该都能正常工作。看起来在这个例子中,你不会遇到任何阻塞的问题,也不会有全局解释器锁(GIL)的问题。这些是我在长时间运行的绿色线程(greenlets)中看到的唯一问题。还有就是内存泄漏,但这不是特定于线程的问题。