day 52协程
协程进程线程:
# 进程 启动多个进程 进程之间是由操作系统负责调用 # 线程 启动多个线程 真正被CPU执行的最小单位实际是线程 # 开启一个线程 创建一个线程 寄存器 堆栈 # 关闭一个线程 # 协程 # 本质上是一个线程 # 能够在多个任务之间切换来节省一些IO时间 # 协程中任务之间的切换也消耗时间,但是开销要远远小于进程线程之间的切换 # 实现并发的手段
生产消费.
# import time # def consumer(): # while True: # x = yield # time.sleep(1) # print('处理了数据 :',x) # # def producer(): # c = consumer() # next(c) # for i in range(10): # time.sleep(1) # print('生产了数据 :',i) # c.send(i) # # producer()
生产了数据 : 0 处理了数据 : 0 生产了数据 : 1 处理了数据 : 1 生产了数据 : 2 处理了数据 : 2 生产了数据 : 3 处理了数据 : 3 生产了数据 : 4 处理了数据 : 4 生产了数据 : 5 处理了数据 : 5 生产了数据 : 6 处理了数据 : 6 生产了数据 : 7 处理了数据 : 7 生产了数据 : 8 处理了数据 : 8 生产了数据 : 9 处理了数据 : 9
一秒打印一行.