快捷搜索:  汽车  科技

python 协程的应用(python的协程)

python 协程的应用(python的协程)2--21--22--01--12--1

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

示例代码如下:

from time import sleep #导入时间模块的sleep休眠函数 def task1(n): #定义task1函数,参数为n for i in range(n): #遍历range(n)里的所有元素 print("1--" str(i)) #并打印1——元素 yield #执行生成器的下一个 sleep(1) #时间休眠1秒 def task2(x): #定义task2函数,参数为x for y in range(x): #遍历range(x)里的所有元素 print("2--" str(y)) #并打印2——元素 yield #执行生成器的下一个 sleep(0.8) #时间休眠0.8秒 if __name__ == '__main__': #相当于本py文件被引用时,下面的代码不会自动被执行 g1=task1(4) #定义g1为task1(4) g2=task2(4) #定义g2为task2(4) while True: try: next(g1) #执行生成器g1 next(g2) #执行生成器g1 except: print("打印结束") #如果报错时,打印“打印结束” break #并退出循环

代码运行结果如下:

1--0

2--0

1--1

2--1

1--2

2--2

1--3

2--3

打印结束

图片示例如下:

python 协程的应用(python的协程)(1)

猜您喜欢: