import gevent
import gevent,time ##gevent 是 第三方库 from gevent import monkey from urllib import request monkey.patch_all() ## 让程序变成IOdef libs(url):print('Get %s '%url)requ = request.urlopen(url)re_requ = requ.read()urls = ['https://www.python.org/','https://www.yahoo.com/','https://github.com/' ] time_star = time.time() for i in urls:libs(i) print('损耗的时间是 %s'%(time.time()-time_star))ootime = time.time() gevent.joinall([gevent.spawn(libs,'https://www.python.org/'),gevent.spawn(libs,'https://www.yahoo.com/'),gevent.spawn(libs,'https://github.com/'),]) print('异步所需的时间是 %s'%(time.time()-ootime))
结果
F:\python_oldboy\Scripts\p\Scripts\python.exe F:/python_oldboy/geve/爬虫练习.py
Get https://www.python.org/
Get https://www.yahoo.com/
Get https://github.com/
损耗的时间是 10.494600296020508
Get https://www.python.org/
Get https://www.yahoo.com/
Get https://github.com/
异步所需的时间是 3.925224542617798
import gevent ##安装第三方库 gevent, 可实现 同步或者异步编程 def foo():print('Running in foo') #1gevent.sleep(2)print('context switch to foo again') #4def bar():print('running in bar') #2gevent.sleep(1)print('context switch back bar') #3 gevent.joinall([gevent.spawn(foo),gevent.spawn(bar) ])
转载于:https://www.cnblogs.com/th-lyc/p/8848490.html
import gevent相关推荐
- python模拟高并发_Python基于gevent实现高并发代码实例
gevent是python的协程模块,协程可以理解成更轻量化的线程.因为性能测试工具的一些限制,就自己萌发了自己写性能测试工具的念想,当然,写的比较简单,比如缺少性能指标的收集,慢慢的优化 出来,这个 ...
- 利用gevent实现异步执行任务
import gevent def task(pid):gevent.sleep(2)print ("task %s done"%pid)def asynchronous():th ...
- Python之路-python(Queue队列、进程、Gevent协程、Select\Poll\Epoll异步IO与事件驱动)
一.进程: 1.语法 2.进程间通讯 3.进程池 二.Gevent协程 三.Select\Poll\Epoll异步IO与事件驱动 一.进程: 1.语法 1 简单的启动线程语法 2 def run(na ...
- Gevent异步服务类实现多姿势WEB实时展示
2019独角兽企业重金招聘Python工程师标准>>> 内置服务: 1. gevent.server.StreamServer类, 常用于创建异步TCP服务器 1 2 3 4 5 6 ...
- python使用gevent实现协程
gevent是一个基于协程的python网络库,在遇到IO阻塞时,程序会自动进行切换,可以让我们用同步的方式写异步IO代码. # coding:utf8 import requests import ...
- gevent queue应用2 队列设置了最大数量限制
1 # -*- coding:utf-8 -*- 2 #! /usr/bin/env python 3 ''' 4 Created on 2014年9月2日 5 ''' 6 import gevent ...
- gevent queue应用1
1 # -*- coding:utf-8 -*- 2 #! /usr/bin/env python 3 ''' 4 Created on 2014年9月2日 5 ''' 6 import gevent ...
- python gevent
基于协程的Python网络库gevent介绍 2017/01/04 · 工具与框架 · gevent 原文出处: 思诚之道 继续Python协程方面的介绍,这次要讲的是gevent,它是一个并发网络库 ...
- python gevent模块 下载_Python协程阻塞IO非阻塞IO同步IO异步IO
Python-协程-阻塞IO-非阻塞IO-同步IO-异步IO 一.协程 协程又称为微线程 CPU 是无法识别协程的,只能识别是线程,协程是由开发人员自己控制的.协程可以在单线程下实现并发的效果(实际计 ...
最新文章
- android如何看百分比版本,【JAVA】Android百分比布局
- 怎样用计算机进入手机驱动程序,手机驱动怎么安装?
- 【Java Web开发指南】mybatis的Example[Criteria]的使用
- android studio修改配置文件夹(.android .gradle .AndroidStudio)位置
- .NET Core下使用gRpc公开服务(SSL/TLS)
- 大专学的pHp找什么工作,大专毕业能做什么工作 毕业都去干嘛了
- win10操做系统恢复操做
- 拆除指令怎么设置_张店区设置不合理隔离桩 将陆续拆除
- java swing 帮助文档,在Java Swing应用程序中创建在线帮助-使用pdf用户文档
- 自己动手开发编译器(四)利用DFA转换表建立扫描器
- Word插入插图清单目录、附表清单目录
- C语言编程题:简单的a+b
- 寻找肇事汽车车牌号C语言,北京交通大学C语言综合程序的设计(黄宇班).doc
- 华为路由器配置NAT
- 微纳自组装技术——纳米孔道阵列辅助自组装技术简述
- MySQL当前读和快照读
- 被称为偏执的企业家,他成功跻身中国民企500强
- 4.11 Lewis Carroll等式
- Stata: 面板 Granger 因果检验
- Python实战:淘宝自动抢购