Sự hiểu biết của tôi là khi tôi đã gọi gevent.monkey.patch_all(), mô đun luồng chuẩn được sửa đổi để sử dụng greenlets thay vì các chuỗi python. Vì vậy, nếu tôi viết ứng dụng của tôi về các chủ đề python, ổ khóa, semaphores, vv, và sau đó gọi patch_all, tôi nhận được lợi ích đầy đủ của gevent, hoặc tôi mất một cái gì đó so với sử dụng tương đương gevent rõ ràng?Nhược điểm của việc sử dụng luồng vá vá so với greenlet gevent bản địa?
Động lực đằng sau câu hỏi này là tôi đang viết một mô-đun sử dụng một số chủ đề/greenlets và tôi quyết định xem có hữu ích khi chuyển đổi rõ ràng giữa sử dụng gevent và sử dụng luồng hay không. + patch_all mà không mất bất cứ thứ gì.
Để đặt nó trong mã, là thế này ...
def myfunction():
print 'ohai'
Greenlet.spawn(myfunction)
... bất kỳ khác nhau để điều này?
import gevent.monkey
gevent.monkey.patch_all()
def mythread(threading.Thread):
def run(self):
print 'ohai'
mythread().start()