我正在使用gevent,我正在修补所有内容。
似乎猴子修补会导致线程连续工作。
我的代码:
import threading
from gevent import monkey; monkey.patch_all()
class ExampleThread(threading.Thread):
def run(self):
do_stuff() # takes a few minutes to finish
print 'finished working'
if __name__ == '__main__':
worker = ExampleThread()
worker.start()
print 'this should be printed before the worker finished'
所以线程没有按预期工作。
但是,如果我删除monkey.patch_all()
它,它工作正常。
问题是我需要monkey.patch_all()
使用 gevent (现在显示在上面的代码中)
我的解决方案:
我改变了
monkey.patch_all()
至
monkey.patch_all(thread=False)
所以我没有修补线程。