python协程io自动切换--gevent
admin
2023-07-24 06:42:20
0

1.gevent执行

import gevent

def func1():
    print('func1 start')
    gevent.sleep(2)
    print('func1 end')

def func2():
    print('func2 start')
    gevent.sleep(1)
    print('func2 end')

def func3():
    print('func3 start')
    gevent.sleep(0)
    print('func3 end')

if __name__=='__main__':
    gevent.joinall([
        gevent.spawn(func1),
        gevent.spawn(func2),
        gevent.spawn(func3),

    ])

>>:
func1 start
func2 start
func3 start
func3 end
func2 end
func1 end       

2.gevent 中的mokey

from urllib import request
import gevent
import time
from gevent import monkey
monkey.patch_all()#把所有的io操作做上标记

def func(url):
    print('爬取地址:%s'%url)
    resp=request.urlopen(url)
    data=resp.read()
    print('%s地址的字节数为:%s'%(url,len(data)))

urls=['http://www.sina.com.cn/',
      'https://www.python.org',
      'https://github.com',
      ]
if __name__=='__main__':
    start_time=time.time()
    for url in urls:
        func(url)
    print("同步执行时间为:",time.time()-start_time)
    asvnc_start_time=time.time()
    gevent.joinall([
        gevent.spawn(func,'http://www.sina.com.cn/'),
        gevent.spawn(func,'https://www.python.org'),
        gevent.spawn(func,'https://github.com')

    ])
    print("异步执行时间为:", time.time() - asvnc_start_time)

>>:
爬取地址:http://www.sina.com.cn/
http://www.sina.com.cn/地址的字节数为:570200
爬取地址:https://www.python.org
https://www.python.org地址的字节数为:48834
爬取地址:https://github.com
https://github.com地址的字节数为:86520
同步执行时间为: 7.055272817611694
爬取地址:http://www.sina.com.cn/
爬取地址:https://www.python.org
爬取地址:https://github.com
http://www.sina.com.cn/地址的字节数为:570200
https://www.python.org地址的字节数为:48834
https://github.com地址的字节数为:59615
异步执行时间为: 2.019655466079712

相关内容

热门资讯

小车撞断护栏从数米高桥下飞落,... 极目新闻记者 张皓6月26日早上,多名网友发布视频称,山西阳泉市赛鱼大桥,一辆小车撞断石质护栏后,坠...
为流量摆拍“铁笼游街”,法律就... 一次“人狗同笼”低俗摆拍的底线试探,换来1人被刑拘、8人被行拘的法律回应6月26日,针对近日网传“多...
洛阳市最新人事任免:李夏影任市... 6月25日,洛阳市人民政府任免国家工作人员。任命李夏影(女)为洛阳市人民政府国有资产监督管理委员会副...
“蓝色票政”掀动暑期热浪!郑州... 郑州海昌海洋公园以“夏天就要‘泡’在海洋里”为主题,打造的专属海洋的夏日清凉...
7月1日起,郑州市城乡低保标准... 6月26日,记者从郑州市民政局获悉,郑州市民政局、郑州市财政局近日联合下发通知,明确从2026年7月...
学习新语|发挥党建引领作用 建... 6月24日,习近平总书记在山东德州考察时,走进西于架村党群服务中心,细致询问村党组织建设和开展便民服...
城长中的河南宝贝丨“磨”出潮流... 六面顶压机见证老厂新生“磨”出潮流街区新生态磨街文创园入口处,六面顶压机化身艺术装置。 高洋 摄【开...
河南省发展改革委主任马健:做强... 做强开发区主阵地主引擎——访省发展改革委党组书记、主任马健“近年来,我省扎实推进功能布局优化、主导产...
美国250周年在即,民调:近8... 【文/观察者网 齐倩】今年7月4日,美国将迎来独立250周年纪念日。“建国250周年之际,美国人情感...
柯志恩是否能复制韩国瑜当年胜选... 海峡导报综合报道 根据《ETtoday民调云》23日公布的最新高雄市长选战民调,国民党市长参选人柯志...