python3 gui协程_Python3进阶-协程

协程简介

又称为微进程,纤程。非抢占式使用资源。

优点

优点1:

协程极高的执行效率。因为子程序切换不是纤程切换,而是由程序自身控制,因此,没有纤程切换的开销,和多线程对比,纤程数量越多,协程的性能优势就越明显。

优点2:

不需要多线程的锁机制,因为只有一个线程,也不存在同事写变量冲突,在协程中控制共享资源不加锁,只需要判断状态就好了,所以执行效率比多线程高很多。

用途

多线程+协程,既充分利用多核,又充分发挥协程的高效率,可获得极高的新能

协程切换

#-*- coding:utf-8 -*-

from greenlet import greenlet

def test1():

print(12)

gr2.switch() #切换对象切换到 [gr2] 对象

print(34)

gr2.switch()

def test2():

print(56)

gr1.switch() #切换对象切换到 [gr1] 对象

print(78)

gr1 = greenlet(test1) # test1 函数的协程对象 gr1

gr2 = greenlet(test2) # test2 函数的协程对象 gr2

gr2.switch()

56

12

78

gevent模块协程测试

单线程执行爬虫测试

#-*- coding:utf-8 -*-

import requests,gevent,time

start = time.time()

def f(url):

print("GET:%s" % url)

resp = requests.get(url) #获取URL

data = resp.text #URL中的数据

print("%s 的文件大小为%s"%(url,len(data))) #计算大小

f('http://www.python.org')

f('https://www.centos.org//')

f('http://zhaojunhui.cn/')

f('http://www.taobao.com/')

f('http://www.jd.com/')

f('http://www.sdo.com/')

print("运行时间",time.time() - start)

GET:http://www.python.org

http://www.python.org 的文件大小为48758

GET:https://www.centos.org//

https://www.centos.org// 的文件大小为20842

GET:http://zhaojunhui.cn/

http://zhaojunhui.cn/ 的文件大小为714

GET:http://www.taobao.com/

http://www.taobao.com/ 的文件大小为132353

GET:http://www.jd.com/

http://www.jd.com/ 的文件大小为122571

GET:http://www.sdo.com/

http://www.sdo.com/ 的文件大小为12383

运行时间 3.820824384689331

gevent模块多线程协程测试[内容越多效果越明显]

#-*- coding:utf-8 -*-

import requests,gevent,time

start = time.time()

def f(url):

print("GET:%s" % url)

resp = requests.get(url) #获取URL

data = resp.text #URL中的数据

print("%s 的文件大小为%s"%(url,len(data))) #计算大小

gevent.joinall([

gevent.spawn(f,"http://www.python.org"),

gevent.spawn(f,"https://www.centos.org/"),

gevent.spawn(f,"http://www.zhaojunhui.cn"),

gevent.spawn(f,"http://www.taobao.com"),

gevent.spawn(f,"http://www.jd.com"),

gevent.spawn(f,'http://www.sdo.com/')

])

print("运行时间",time.time() - start)

GET:http://www.python.org

http://www.python.org 的文件大小为48758

GET:https://www.centos.org/

https://www.centos.org/ 的文件大小为20842

GET:http://www.zhaojunhui.cn

http://www.zhaojunhui.cn 的文件大小为714

GET:http://www.taobao.com

http://www.taobao.com 的文件大小为132353

GET:http://www.jd.com

http://www.jd.com 的文件大小为122571

GET:http://www.sdo.com/

http://www.sdo.com/ 的文件大小为12383

运行时间 3.0470935821533203

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/543332.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机主机ip地址题,计算机网络IP地址练习习题

IP地址习题1、192.168.1.1代表的是()地址。A、A类地址B、B类地址C、C类地址D、D类地址2、224.0.0.5代表的是()地址。A、主机地址B、网络地址C、组播地址D、广播地址3、192.168.1.255代表的是()地址。A、主机地址B、网络地址C、组播地址D、广播地址4、对于一个没有经过子网划分的…

实验一 线性表的顺序存储与实现_数据结构篇之单链表的创建以及实现

上次咱们已经一起分享了线性表的顺序存储的基本创建以及一些运算方法的实现,那么这次咱们主要来研究线性表的链式存储,俗称单链表,咱们知道顺序表在建立的时候要注意需要建立一块连续的空间,所以需要使用数组在内存中开辟空间&…

多线程基础(二)pthread的了解

IOS中多线程的实现方案 了解NSOperation(代码) 所有的方法都是pthread开头的 然后再搞一条线程 pthread_create方法有返回值,作用:判断线程创建是否成功? 常用的方法: 退出的方法: 关于pthread代码几乎不用…

计算机专业技能高考试题素材,计算机技能高考模拟试题

计算机技能高考模拟试题(2016年湖北)《组装与维护模块》本套试卷选取3套高考模拟卷,自制而成,请同学们45分钟完成全部答题(2018-06-12)(标准:总分80分,48分及格,64分良好,64以上优秀)Ⅲ、计算机组装与维修(…

python爬虫requests源码链家_Python爬虫之---爬链家

一个简单的实例,可以采用。做的demo。 #!/usr/bin/python # -*- coding: utf-8 -*- # Time : 2020/6/4 15:55 # Author : Xuegod Teacher For # File : 01_get_price_test.py # Software: PyCharm第一步:下载所有的html 第二步:利用xpath爬取…

iOS之UI--使用SWRevealViewController实现侧边菜单功能详解实例

使用SWRevealViewController实现侧边菜单功能详解 下面通过两种方法详解SWRevealViewController实现侧边菜单功能: 1.使用StoryBoard实现 2.纯代码实现 前言:手机屏幕始终有限,如何在有限的展示空间提供便捷的导航入口呢?Facebook…

计算机网络基础大学教材,《计算机网络技术及应用——大学计算机基础教育规划教材》低价购书_教材教辅考试_孔网...

本书在介绍数据通信概念的基础上,分局域网、广域网和因特网三个模块详细讲述了计算机网络的基础知识,还介绍了网络安全和网络管理方面的实用技术。本书的内容是兼顾基础,突出应用。本书取材新颖,概念清晰,可作为理工科…

绘图的尺寸_Auto CAD机械绘图尺寸标注教程1(尺寸标注简介)

1、尺寸是工程图中不可缺少的一项内容,工程图中的图形只用来标识工程图形的形状,而工程形体的大小尺寸是靠尺寸来说明的,所以工程图图中尺寸必须标注得正确、完整、清晰、合理。工程图中尺寸标注包括:尺寸界线、尺寸线、尺寸起止符…

java并发核心知识体系精讲_Java 面试突击之 Java 并发知识基础 amp; 进阶考点全解析

版权说明:本文内容根据 github 开源项目整理所得项目地址:https://github.com/Snailclimb/JavaGuide​github.com一、基础什么是线程和进程?何为进程?进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统…

计算机专业 毕业论文 百度云,计算机专业毕业论文.pdf

XXXX 学院本科生毕业论文基于 VB 的人力资源管理信息系统的设计与实现院别 、专业 计算机科学与信息技术学院计算机科学与技术专业研 究 方 向 网络工程学 生 姓 名学 号指导教师姓名指导教师职称 讲 师20XX年 X 月 X 日大庆师范学院本科毕业论文 (设计 )摘 要为了提高人力资源…

python在linux中输出带颜色的文字的方法

在开发项目过程中,为了方便调试代码,经常会向stdout中输出一些日志,默认的这些日志就直接显示在了终端中。而一般的应用服务器,第三方库,甚至服务器的一些通告也会在终端中显示,这样就搅乱了我们想要的信息…

运用python的方式_对Python使用mfcc的两种方式详解

1、Librosa import librosa filepath "/Users/birenjianmo/Desktop/learn/librosa/mp3/in.wav" y,sr librosa.load(filepath) mfcc librosa.feature.mfcc( y,sr,n_mfcc13 ) 返回结构为(13,None)的np.Array,None表示任意数量 2、python_speech_features…

nginx加载图片慢_优化vue项目的首屏加载速度

最近使用vue-cli3构建了一个小型的博客系统,完工之后,build打包出来发现一个chunk-vendors包就有1.1m,部署上去之后,访问的时候,首屏加载非常慢。居然需要21s,体验极差。这是打包的结果截图根据这种情况&am…

Python.with.context-manager

Context Manager 1. Context Manager简介 "Context managers are a way of allocating and releasing some sort of resource exactly where you need it." Ref[4] 例如: 1 with file("/tmp/foo", "w") as foo: 2 print >> foo, &qu…

micropython移植教程_【教程】智能编程T-Watch手表初试micropython之电子秤教程

原标题:【教程】智能编程T-Watch手表初试micropython之电子秤教程 【项目的故事】 在极客玩具中,我一直喜欢穿戴类和小车类。前后做过两只运动心率表,并且参与过麦步手表的测试。TTGO最新出品了一块叫做T-Watch的手表,实际上&…

音乐和计算机跨界融合,音乐类综艺跨界融合有了新思路

图集8月9日《人民日报》刊文,对原创综艺节目《幻乐之城》匠心做原创的新思路、新经验、新趋势进行了表扬,文章指出:“音乐电影”的节目模式在呈现出音乐与电影双重质感的同时,也为国内音乐类综艺节目的跨界融合发展提供了新的思路…

mysql 下载到其他盘中_MYSQL 如果把数据文件保存到其他磁盘里

今天在CSDN上有人问起分开存储数据文件的问题。现在写下来。为了突破磁盘搜索的瓶颈。我们要把MYSQL的数据和索引保存到其他不同的磁盘中。目前还只是支持MyISAM引擎。在MYSQL中,官这个叫象征性链接。1、在WINDOWS下的象征性链接。数据库目录:E:/LAMP/my…

python定义了函数却显示未定义_python

我正在编写一个脚本,在我的脚本中,我具有以下功能: def insert_image(cursor, object_id, sku): product_obj core.Object.get(object_id) string_sku str(sku) folder string_sku[0] string_sku[1] string_sku[2] found_url False # K…

以下不属于计算机安全术语,基础知识(D).doc

1、计算机硬件是指组成计算机的任何机械的、磁性的、电子的装置或部件,其中微型计算机的主要组成部分有:A.CPU、存储器、基本输入输出设备和其他外围设备B.硬件系统和软件系统C.主机和系统软件D.主机和显示器答案:A (2)2、计算机网络的分类标…

java api项目配置统一的错误返回json提示

2019独角兽企业重金招聘Python工程师标准>>> 项目使用的json解析框架是fastjson自定义的返回对象如下:package com.test;public class ResultObj {private boolean result;private int code200;private String msg;private Object data;private PagerRes…