Python协程

协程:

和进程,线程的不同:

进程,线程 抢占式 进程和线程的切换,我们不能参与
协程 非抢占式 协程的切换,由用户来控制,主要解决I/O操作

协程的优点:

(1)极高的执行效率:因为子程序切换由程序自身来控制,没有线程切换的开销

(2)不需要多线程的锁机制,因为只有一个线程,不存在同时写变量的冲突

yield:

import time


# 有yield的函数就是生成器函数,
def test1():
    while True:
        print('test1....')
        time.sleep(1)
        yield


def test2():
    while True:
        print('test2...')
        time.sleep(1)
        yield


def main():
    g1 = test1()  # 返回一个生成器
    g2 = test2()
    while True:
        next(g1)  # 调用生成器的next()函数,开始执行函数体
        next(g2)


if __name__ == '__main__':
    main()

生成器有问题的同学欢迎去本人的博客【Python生成器】查看

下面为你指路

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章