1. 首页
  2. Python

python的协程

“u003Cdivu003Eu003Cpu003E协程,又称微线程,纤程,英文名Coroutine。协程的作用,是在执行函数A时,可以随时中断,去执行函数B,然后中断继续执行函数A(可以自由切换)。但这一过程并不是函数调用(没有调用语句),这一整个过程看似像多线程,然而协程只有一个线程执行。u003Cu002Fpu003Eu003Cpu003E示例代码如下:u003Cu002Fpu003Eu003Cpreu003Efrom time import sleep #导入时间模块的sleep休眠函数u003Cbru003Edef task1(n): #定义task1函数,参数为nu003Cbru003E for i in range(n): #遍历range(n)里的所有元素u003Cbru003E print(“1–“+str(i)) #并打印1——元素u003Cbru003E yield #执行生成器的下一个u003Cbru003E sleep(1) #时间休眠1秒u003Cbru003Edef task2(x): #定义task2函数,参数为xu003Cbru003E for y in range(x): #遍历range(x)里的所有元素u003Cbru003E print(“2–“+str(y)) #并打印2——元素u003Cbru003E yield #执行生成器的下一个u003Cbru003E sleep(0.8) #时间休眠0.8秒u003Cbru003Eif __name__ == ‘__main__’: #相当于本py文件被引用时,下面的代码不会自动被执行u003Cbru003E g1=task1(4) #定义g1为task1(4)u003Cbru003E g2=task2(4) #定义g2为task2(4)u003Cbru003E while True:u003Cbru003E try:u003Cbru003E next(g1) #执行生成器g1u003Cbru003E next(g2) #执行生成器g1u003Cbru003E except:u003Cbru003E print(“打印结束”) #如果报错时,打印“打印结束”u003Cbru003E break #并退出循环u003Cbru003Eu003Cu002Fpreu003Eu003Cpu003E代码运行结果如下:u003Cu002Fpu003Eu003Cpu003E1–0u003Cu002Fpu003Eu003Cpu003E2–0u003Cu002Fpu003Eu003Cpu003E1–1u003Cu002Fpu003Eu003Cpu003E2–1u003Cu002Fpu003Eu003Cpu003E1–2u003Cu002Fpu003Eu003Cpu003E2–2u003Cu002Fpu003Eu003Cpu003E1–3u003Cu002Fpu003Eu003Cpu003E2–3u003Cu002Fpu003Eu003Cpu003E打印结束u003Cu002Fpu003Eu003Cpu003E图片示例如下:u003Cu002Fpu003Eu003Cdiv class=”pgc-img”u003Eu003Cimg src=”http:u002Fu002Fp1.pstatp.comu002Flargeu002Fpgc-imageu002F72571a2a066b46d3b2d25ac69e957785″ img_width=”1217″ img_height=”943″ alt=”python的协程” inline=”0″u003Eu003Cp class=”pgc-img-caption”u003Eu003Cu002Fpu003Eu003Cu002Fdivu003Eu003Cu002Fdivu003E”

原文始发于:python的协程

主题测试文章,只做测试使用。发布者:~那﹑男人是我的命﹪,转转请注明出处:http://www.cxybcw.com/13044.html

联系我们

13687733322

在线咨询:点击这里给我发消息

邮件:1877088071@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code