Rozumiem, że po wywołaniu gevent.monkey.patch_all(), standardowy moduł wątków jest modyfikowany, aby używać zielonych zamiast wątków Pythona. Więc jeśli piszę swoją aplikację w kategoriach wątków Pythona, zamków, semaforów itp., A następnie wywołuję patch_all, czy dostaję pełną korzyść z geventu, czy też tracę na czymś w porównaniu z użyciem jawnych odpowiedników gevent?Minusem korzystania z łatanych wątków w porównaniu do rodzimych zielonych roślinek?
Motywacją tego pytania jest to, że piszę moduł, który używa wątków/greenletów, i decyduję, czy użyteczne jest wyraźne przełączenie między używaniem geowag a używaniem wątków, czy mogę po prostu użyć wątku + patch_all bez utraty czegokolwiek.
Aby umieścić go w kodzie, jest to ...
def myfunction():
print 'ohai'
Greenlet.spawn(myfunction)
... jakikolwiek inny do tego?
import gevent.monkey
gevent.monkey.patch_all()
def mythread(threading.Thread):
def run(self):
print 'ohai'
mythread().start()