import gevent
deff1(n):for i inrange(n):print(gevent.getcurrent(),i)
gevent.sleep(0.5)deff2(n):for i inrange(n):print(gevent.getcurrent(),i)
gevent.sleep(0.5)deff3(n):for i inrange(n):print(gevent.getcurrent(),i)#gevent.sleep(0.5)
g1 = gevent.spawn(f1,5)
g2 = gevent.spawn(f2,5)
g3 = gevent.spawn(f3,5)
g1.join()
g2.join()
g3.join()><Greenlet at 0x1068e54a8: f1(5)>0<Greenlet at 0x1068e55c0: f2(5)>0<Greenlet at 0x1068e56d8: f3(5)>0<Greenlet at 0x1068e56d8: f3(5)>1<Greenlet at 0x1068e56d8: f3(5)>2<Greenlet at 0x1068e56d8: f3(5)>3<Greenlet at 0x1068e56d8: f3(5)>4<Greenlet at 0x1068e54a8: f1(5)>1<Greenlet at 0x1068e55c0: f2(5)>1<Greenlet at 0x1068e54a8: f1(5)>2<Greenlet at 0x1068e55c0: f2(5)>2<Greenlet at 0x1068e54a8: f1(5)>3<Greenlet at 0x1068e55c0: f2(5)>3<Greenlet at 0x1068e54a8: f1(5)>4<Greenlet at 0x1068e55c0: f2(5)>4
monkey.patch_all() 补丁
import gevent
import time
from gevent import monkey
monkey.patch_all()deff1(n):for i inrange(n):print(gevent.getcurrent(),i)
time.sleep(0.5)deff2(n):for i inrange(n):print(gevent.getcurrent(),i)
time.sleep(0.5)
g1 = gevent.spawn(f1,5)
g2 = gevent.spawn(f2,5)
g1.join()
g2.join()><Greenlet at 0x1050ebb38: f1(5)>0<Greenlet at 0x1050ebe80: f2(5)>0<Greenlet at 0x1050ebb38: f1(5)>1<Greenlet at 0x1050ebe80: f2(5)>1<Greenlet at 0x1050ebb38: f1(5)>2<Greenlet at 0x1050ebe80: f2(5)>2<Greenlet at 0x1050ebb38: f1(5)>3<Greenlet at 0x1050ebe80: f2(5)>3<Greenlet at 0x1050ebb38: f1(5)>4<Greenlet at 0x1050ebe80: f2(5)>4