-
這是我寫的兩個有關的部落格,建議如果覺得下面的代碼比較費解,可以先看下面的文章
Python并發Gevent庫(一)
AttributeError: module ‘select’ has no attribute ‘error’解決方法
相比于 AttributeError: module ‘select’ has no attribute ‘error’解決方法 這篇文章,這裡我加了一句
print("End of File")
這樣之後輸出就是成了下面這樣子
GET: https://www.python.org/
GET: https://www.yahoo.com/
GET: https://github.com/
51558 bytes received from https://github.com/.
48866 bytes received from https://www.python.org/.
507204 bytes received from https://www.yahoo.com/.
End of File
可以看出: 在文章末尾,調用完所有的join的協程之後,才會到下面的過程。也就是平時所說的,
阻塞
住了~
from gevent import monkey
monkey.patch_all(select=False)
import requests
import gevent
def f(url):
print('GET: %s' % url)
data = requests.get(url).text
print('%d bytes received from %s.' % (len(data), url))
gevent.joinall([
gevent.spawn(f, 'https://www.python.org/'),
gevent.spawn(f, 'https://www.yahoo.com/'),
gevent.spawn(f, 'https://github.com/'),
])
print("End of File")