因为爱情有晴天98集,有趣的半圆形教案,矿产资源
gevent 是一个第三方库,可以轻松通过gevent实现并发同步或异步编程,在gevent中用到的主要模式是greenlet, 它是以c扩展模块形式接入python的轻量级协程。 greenlet全部运行在主程序操作系统进程的内部,但它们被协作式地调度。
1 import gevent 2 3 def foo(): 4 print('running in foo') 5 gevent.sleep(1) 6 print('explicit context switch to foo again') 7 8 def bar(): 9 print('explicit context to bar') 10 gevent.sleep(2) 11 print('implicit context switch to bar again') 12 gevent.joinall([ 13 gevent.spawn(foo), 14 gevent.spawn(bar), 15 ])
1 from gevent import monkey; 2 3 monkey.patch_all() 4 from urllib.request import urlopen 5 import time 6 7 def f(url): 8 print('get: %s' % url) 9 resp = urlopen(url) 10 data = resp.read() 11 print('%d bytes received from %s.' % (len(data), url)) 12 13 #l=['https://www.python.org/','https://www.baidu.com/','https://github.com/'] 14 start=time.time() 15 # for url in l: 16 # f(url) 17 18 gevent.joinall([ 19 gevent.spawn(f, 'https://www.python.org/'), 20 gevent.spawn(f, 'https://www.baidu.com/'), 21 gevent.spawn(f, 'https://github.com/'), 22 ]) 23 24 end=time.time() 25 print(end-start)
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
新手学习Python2和Python3中print不同的用法
Python基于os.environ从windows获取环境变量
网友评论