协程:协程,又称微线程。
协程与子程序的区别:子程序调用总是一个入口,一次返回,调用顺序是明确的。而协程的调用和子程序不同。
协程看上去也是子程序,但执行过程中,在子程序内部可中断,然后转而执行别的子程序,在适当的时候再返回来接着执行。
多任务:多进程》(进程池,)》多线程,》多协程
代码:
import time
def work1():
for i in range(5):
print('work1',i)
yield
time.sleep(0.1)
def work2():
for i in range(5):
print('work2', i)
yield
time.sleep(0.1)
w1=work1()
w2=work2()
while True:
next(w1)
next(w2)
#在多个生成器中来回切换代码