#协程 #~又称微线程,纤程。 ''' 它是比线程更小的执行单元,因为它自带CPU上下文。这样只要在合适的时机,我们可以把一个协程切换到另一个协程当中。 只要这个过程保存或恢复CPU上下文,那么程序就可以运行。 通俗的理解:在一个线程中的某个函数,可以在任何地方保存当前函数的一些临时变量等信息,然后切换到另外一个函数中执行, (注意不是通过调用函数的方式来实现),并且切换的次数以及什么时候再切换到原来的函数由开发者确定。 yield--表示暂停,暂停后切换到其他任务 __next__ 从调用yield函数暂停处继续执行 ''' import time #以下情况明显是 ''' def A(): while True: print('----A-----') time.sleep(0.5) def B(): while True: print('-----B-----') time.sleep(0.5) if __name__=='__main__': A() B() ''' def A(): while True: print('----A-----') yield time.sleep(0.5) def B(a): while True: print('-----B-----') time.sleep(5) a.__next__() time.sleep(0.5) if __name__=='__main__': A() a=A()#中断值 B(a)#B从A()暂停那个时候执行的
-----B-----
----A-----
-----B-----
----A-----
-----B-----
下面都是交替执行A\B