首页 > 编程语言 >Python高阶---协程

Python高阶---协程

时间:2024-05-03 14:24:15浏览次数:15  
标签:协程 producer Python send --- print

协程: 协程,又称微线程。协程的作用,是在执行函数A时,可以随时中断,去执行函数B,然后中断继续执行函数A(可以自由切换)。但这一过程并不是函数调用(没有调用语句),这一整个过程看似像多线程,然而协程只有一个线程执行。

=============================

交替执行

def consumer():
r = ''
while True:
n = yield r
if not n:
return
print('[Consumer] Consuming %s '% n)
r = '200 OK'

def producer(c): # 传入一个生成器参数
c.send(None)
n = 0
while n < 5:
n = n + 1
print('[Producer] Producing %s ' % n)
r = c.send(n)
print('[Producer] Consumer return: %s ' % r)

if name == 'main':
c = consumer()
producer(c)

================================

标签:协程,producer,Python,send,---,print
From: https://www.cnblogs.com/jackchen28/p/18171172

相关文章

  • https://geek-docs.com/python/python-ask-answer/74_hk_1707485473.html
    Python中的b是什么介绍 在Python中,我们经常会看到一种奇特的表示方法,即以字符’b’开头的字符串,例如b'Hello'。这种表示方法在Python中被称为字节字符串(bytestring),简称为b字符串。在本文中,我们将详细介绍b字符串的特点、用途和常见应用场景。b字符串的特点字节字符串以字......
  • docker-compose部署ELK
    参考地址:https://www.cnblogs.com/zys2019/p/14816634.html1.概述笔者在学习docker的相关知识,本着talkischeapshowmethecode原则,实际操作下,正好上面的博主分享了文档,我照着做成功了,只是有些细节上面的问题,需要解决下2.ELK架构Elasticsearch是个开源分布式搜索引擎,提......
  • linux18-软件安装
    linux18-软件安装yum需要root权限和网络连接RPM包软件管理器,用于自动化安装配置Linux软件,并可以自动解决依赖问题安装包为.rpm文件(适用于centOS,对应ubuntu中的apt)yum[-y][install|remove|search]软件名称选项:-y自动确认,无需手动确认安装和卸载的......
  • 【Netty】【XXL-JOB】时间轮的原理以及应用分析
    1 前言今天晚上看了一本70多页的讲解时间轮的PDF,从是什么为什么以及原理到源码中的应用分析,讲的真好。这节我就按我理解的思路捋一下,记录一下哈。2 时间轮概述2.1 时间轮是什么时间轮是一种高效利用线程资源进行批量化调度的一种调度模型。把大批量的调度任务全部绑......
  • linux14-权限控制信息
    linux14-权限控制信息文件信息:-文件d文件夹l软链接权限分类:r,read,读取w,write,写入x,execute,执行权限信息组成如drwxr-xr-x表示:d,表示这是一个文件夹rwx,表示所属用户的权限是rwx(可读,可写,可执行)r-x,表示所属用户组......
  • linux15-chmod修改文件,文件夹权限信息
    linux15-chmodchmodchangemode修改文件,文件夹的权限信息只有所属用户或root用户可以修改chmod[-R]权限文件或文件夹选项-R,对文件夹内的全部内容应用同样的操作(遍历)#将hello.txt的文件权限修改为rwxr-x--x#u,user;g,group;o,otherchmodu=rwx,g=rx,o=xh......
  • raft算法和etcd代码解析-5.应用模块的启动
    Node接口Node是raft应用模块在节点上的抽象,也是应用模块和算法模块交互的入口应用模块持有Node作为算法模块的引用,通过调用Node接口的API与算法模块通信,通信方式是通过若干个Channel异步完成的。//Noderepresentsanodeinaraftcluster.typeNodeinterface{ //告知......
  • linux16-chown 修改文件,文件夹所属用户和用户组
    linux16-chown修改文件,文件夹所属用户和用户组changeowner需要root权限chown[-R][用户][:][用户组]文件或文件夹选项:-R,同chmod,表示对文件夹及其内部的所有内容应用同样规则[:]用于分割用户和用户组将hello.txt的所属用户修改为rootchownroothello.txt......
  • linux17-快捷键
    linux17-快捷键ctrl+c强制停止/退出输入ctrl+d退出账户登录/退出某些程序专属页面(不包括vi/vim)history查看历史!p匹配p前缀的最近命令ctrl+rp匹配含有关键词p的最近命令光标移动快捷键ctrl+a命令开头ctrl+e命令结尾ctrl+←向左一个单......
  • CF-943(已更B-E)
    CF-943(已更B-E)D赛时没调出来(╬▔皿▔)╯,还有几分钟的时候反而把E过了,本来应该是上大分一场(⊙﹏⊙),等会会补G1这假期要刷题,还要补文化课……后面有空的话更一下之前打的线下赛的题解B双指针……voidsolve(){ intn,m;cin>>n>>m; stringa,b;cin>>a>>b; intnow=0......