Python中的协程主要是使用gevent的功能,需要安装第三方模块gevent
单轮处理效率来讲:协程比多线程效率高,但是设计大量io工作时,建议还是用多线程
代码如下:
#!/usr/bin/env python
# -- coding = 'utf-8' --
# Author Allen Lee
# Python Version 3.5.1
# OS Windows 7
from gevent import monkey;monkey.patch_all()
import gevent,os
import requests
def f(url):
print('GET: %s' %url)
resp = requests.get(url)
data = resp.text
print('%d bytes received from %s.' %(len(data),url))
#当有IO大量回调任务时,比如,给mysql插入数据,多线程会比协程高效,比如爬虫
gevent.joinall([
gevent.spawn(f,'https://www.python.org/'), #子线程一
gevent.spawn(f,'https://www.yahoo.com/'), #子线程二
gevent.spawn(f,'https://github.com/'), #子线程三
])