首页 > 编程语言 >python gevnt实现协程

python gevnt实现协程

时间:2023-03-24 15:34:07浏览次数:30  
标签:协程 gevnt python ...... executing gevent time work1 work2

gevent

也是第三方库,自行调度协程,自动试别程序的耗时操作。比如读文件,等待时间。

代码举了个栗子

from gevent import monkey
monkey.patch_all()
import time
import gevent

def work1():
    while True:
        print("executing work1......" , gevent.getcurrent())
        time.sleep(0.5)

def work2():
    while True:
        print("executing work2......")
        time.sleep(0.5)

if __name__ == '__main__':

    #指派任务,gevent.spawn(函数名,参数1,参数2,......)
    g1 = gevent.spawn(work1)
    g2 = gevent.spawn(work2)

   #join是让主程序等待协程执行完再退出  
    g1.join()
    g2.join()


结果
executing work1...... <Greenlet at 0x31d1900: work1>
executing work2......
executing work1...... <Greenlet at 0x31d1900: work1>
executing work2......
executing work1...... <Greenlet at 0x31d1900: work1>
.......

 

特别说明

如果没有加下面两行代码,默认情况下就不能识别time.sleep(0.5)耗时操作, 这时可以用gevent.time(0.5)来代替

from gevent import monkey
monkey.patch_all()

 

打补丁

在不修改程序代码的情况下,为程序增加新的功能,

 

标签:协程,gevnt,python,......,executing,gevent,time,work1,work2
From: https://www.cnblogs.com/baxianhua/p/17251577.html

相关文章

  • Python 离线环境
    一、应用场景比如:对于数据安全要求比较严格的机房,服务器是不允许上网的。那么我现在开发了一套python程序,需要一些模块,怎么运行? 二、离线包制作有2个解决方案:1.使用......
  • python 网络爬虫
    #-*-coding:cp936-*-importstring,urllib2path="G:/NewKnowledge/practice/python/tmp/"defbaidu_tieba(url,begin_page,end_page):foriinrange(begin_......
  • Python离线库压缩文件怎么安装tar.gz文件?
    在使用pip安装python库的时候,大部分情况下都是通过命令来在线安装的。但是在网络不好或者是库比较特殊的情况下就要去下载python库压缩文件来手动安装了。而tar.gz就是pyth......
  • Python安装和解释器
    开始学习Python编程,首先就得把Python安装到你的电脑里。安装后,你会得到Python解释器(就是负责运行Python程序的),一个命令行交互环境,还有一个简单的集成开发环境。安装Python......
  • python apscheduler 定时任务的基本使用-5-添加任务
    pythonapscheduler定时任务的基本使用-5-添加任务1、添加定时任务可以随时随地添加任务,不论调度器是否启动。如果未启动时,添加了定时任务,则会在调度器启动时,正常执行该......
  • Python学习day2
    ##day3##今日内容1.整型2.布尔类型3.字符串###内容回顾和补充###内容回顾每周写一个思维导图,罗列本周学习的知识点1.运算符补充-in-notin###......
  • 用Python编写一个封装mstsc的RDP批量管理工具
    要实现的功能1.调用系统的mstsc命令来实现远程桌面2.确保连接过程不可见,实现直接连接的效果3.支持窗口和全屏连接4.支持手动添加新的桌面5.支持显示桌面列表6.......
  • python函数递归例子
    tvs=["少年歌行:",['\t萧瑟:',['\t\t六皇子','\t\t萧楚河'],'\t无心','\t雷无桀']]defislist(sublist):foriinsublist:ifisinstance(i,list):#......
  • python监控linux环境磁盘空间,并通过钉钉通知
    #-*-coding:utf-8-*-importpsutilimporttimefromdingtalkchatbot.chatbotimportDingtalkChatbotfromdatetimeimportdatetimeimportosfromos.pathim......
  • 【PTA|Python】浙大版《Python 程序设计》题目集:第五章
    前言Hello!小伙伴!非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~ 自我介绍ଘ(੭ˊᵕˋ)੭昵称:海轰标签:程序猿|C++选手|学生简介:因C语言结识编程,随后转入计算......