À l'aide de gevent monkey patching avec filetage, fait de fil de travail en série

Je suis en utilisant gevent et je suis monkey patching tout.

Il semble que le monkey patching causes les threads de travail en série.

Mon code:

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'

De sorte que le fil ne fonctionne pas comme prévu.

Mais si je supprime le monkey.patch_all() il fonctionne très bien.

Le problème est que j'ai besoin de la monkey.patch_all() pour l'utilisation de gevent (maintenant indiqué dans le code ci-dessus)

Ma solution:

J'ai changé le

monkey.patch_all() 

à

monkey.patch_all(thread=False)

donc je ne suis pas patcher le fil.

InformationsquelleAutor yossi | 2012-02-08