单线程来实现并发,即只用一个主线程(很明显可利用的cpu只有一个)情况下实现并发,
并发的本质:切换+保存状态
yield本身就是一种在单线程下可以保存任务运行状态的方法
1 yiled可以保存状态,yield的状态保存与操作系统的保存线程状态很像,但是yield是代码级别控制的,更轻量级
2 send可以把一个函数的结果传给另外一个函数,以此实现单线程内程序之间的切换

import time
def func1():
    for i in range(10000):
        i+1

def func2():
    for i in range(10000):
        i+1
start = time.time()
func1()
func2()
stop=time.time()
print(stop-start)

结果:0.002500295639038086
串行执行

相关文章: