协程比线程切换开销小
import time
import gevent # 协程:当一个任务需要耗时
from gevent import monkey # 补丁
monkey.patch_all() # 将耗时的代码转自动换成gevent.sleep(),比如time.sleep()
def t1(a):
while 1:
print(a)
time.sleep(1) # 会自动转换成gevent.sleep(1)
def t2(b):
while 1:
print(b)
time.sleep(1)
gevent.joinall([ # 阻塞主线程,等待协程结束
# 遇到耗时自动切换任务t1,t2切换
gevent.spawn(t1, '111'),
gevent.spawn(t2, '222')
])