• 使用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-----

    ......

  • 相关阅读:
    前后端反爬虫的一些奇怪姿势【转载】
    Scrapy 中常用的中间件和管道组件
    Jquery各个版本的区别
    userAgent
    操作系统
    手机类别
    移动端设备UA检测
    iPhone6的CSS3媒体查询
    所有设备的CSS像素
    解读所有设备的css像素的网站
  • 原文地址:https://www.cnblogs.com/yujiemeigui/p/14312720.html
Copyright © 2020-2023  润新知