'''

子程序/函数：在所有语言中都是层级调用，比如A调用B，在B执行的过程中又可以调用C，
C执行完毕返回，B执行完毕返回，最后是A执行完毕。是通过栈实现的，一个线程就是执行一个子程序，
子程序调用就是一个入口，一次返回，调用的顺序是明确的


协程：

概述：看上去也是子程序，但执行过程中， 在子程序的内部可中断，然后转而执行别的子程序，不是函数调用。
'''
'''
def A():
    print("A--start")
    B()
    print("A--end")


def B():
    print("B--start")
    C()
    print("B--end")


def C():
    print("C--start")

    print("C--end")
   
A()
'''

def A():
    print(1)
    print(2)
    print(3)

def B():
    print(4)
    print(5)
    print(6)

#执行出  1 2 4 5 6 3这个结果，但是A中没有调用B    看起来A，B执行过程有点像线程，但协程的特点在于是一个线程执行

'''
与线程相比，协程执行的效率极高，因为只有一个线程，也不存在变量的冲突，
在协程中共享资源不加锁，只需要判断状态
'''



