知识点
from gevent import monkey
monkey.patch_all()
import gevent, time
def worker1(n):
for i in range(n):
print('in worker1 %s' % gevent.getcurrent())
g1 = gevent.spawn(worker1,10)
g2 = gevent.spawn(worker1,10)
gevent.joinall([g1,g2])
案例:协程多任务下载器
from gevent import monkey
monkey.pach_all()
import urllib.request
def down_html(url):
response = urllib.request.urlopen(url)
data = response.read()
print('获取%s 网页数据成功 %d 字节 % (url, len(data)))
it __name__'__main__':
begin = time.time()
# 创建并运行协程
g1 = gevent.spawn(down_html, 'http://baidu.com')
g2 = gevent.spawn(down_html, 'http://itcast.com')
g3 = gevent.spawn(down_html, 'http://itheima.com')
# 等待协程结束
gevent.joinall([g1,g2,g3])
end = time.time()
print('消耗了%3f秒' % (end - gevent))