使用yield完成多任务

 

一、yield完成多任务的特点:

  

  1、相对进程、线程而言,它占用的资源最小

  2、线程是并发,假的多线程。因为它是一个进程中的一个线程

 

二、执行流程

 

 

  1、先按顺序执行task_1函数,当执行到【yield】关键字处时,暂停执行

 

  2、task_1函数暂停执行后,程序立马切换至task_2函数继续执行,

    直到执行到【yield】关键字处,暂停执行。

 

  3、程序就在两个任务之间相互来回切换

 

三、代码演示

 

from time import *


def task_1():
    while True:
        print("-----1-----")
        sleep(0.1)
        yield


def task_2():
    while True:
        print("-----2-----")
        sleep(0.1)
        yield


if __name__ == "__main__":
    t1 = task_1()
    t2 = task_2()
    while True:
        next(t1)
        next(t2)
View Code

 

运行结果:

 

-----1-----

-----2-----

-----1-----

-----2-----

-----1-----

-----2-----

-----1-----

-----2-----

-----1-----

-----2-----

-----1-----

-----2-----

-----1-----

-----2-----

......

 

posted @ 2021-01-22 13:03  御姐玫瑰  阅读(122)  评论(0编辑  收藏  举报
levels of contents