首页 > 其他 > 详细

使用yield完成多任务

时间:2021-01-22 17:06:27      阅读:22      评论:0      收藏:0      [点我收藏+]

 

一、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-----

......

 

使用yield完成多任务

原文:https://www.cnblogs.com/yujiemeigui/p/14312720.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!