美文网首页
yield完成多任务

yield完成多任务

作者: 栀心_d553 | 来源:发表于2020-02-11 11:01 被阅读0次
import time

def task_1():
    while True:
        print('----1----')
        time.sleep(0.1)
        yield

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

def main():
    #因为添加了yield,所以就不是调用函数,而是创建了生成器

    t1 = task_1()
    t2 = task_2()
    while True:
        #轮流调用
        next(t1)
        next(t2)
        #流程:先开始执行next1,遇到yield就暂停,然后回到next(t1)
        #回到next(1)后,执行next(2),然后执行task_2,遇到yield,暂停
        #然后又执行t1....

if __name__ == '__main__':

    main()

#并行(真的多任务  一个任务占一个盒)
#并发(假的多任务  交替执行)

#进程浪费资源
#协程效率高

相关文章

  • 生成器

    使用send方式 使用yield 完成多任务

  • yield完成多任务

  • 使用yield完成多任务

  • 协程

    gevent方法实现多任务(协程) 了解yield和grenlet yield方法创建协程 greenlet方法创建协程

  • 协程

    1.yield实现多任务 2.gevent实现多任务 取消延时函数后、阻塞在task1死循环 协程的核心思想是分配...

  • Python 高级 7

    迭代、迭代器、生成器、协程、yield、greenlet、gevent、进程线程协程对比、gevent多任务图片下...

  • gevent完成多任务(!!常用)

    recfrom() connect() accept()都是阻塞,都可以利用这段时间,切换别的任务 但是...

  • 进程VS线程

    功能 • 进程,能够完成多任务,比如 在一台电脑上能够同时运行多个QQ• 线程,能够完成多任务,比如 一个...

  • 2017-06-27

    没时间矫情啊。还有那么多任务要完成

  • 进程、线程对比

    功能 进程,能够完成多任务,比如 在一台电脑上能够同时运行多个QQ 线程,能够完成多任务,比如 一个QQ中的多个聊...

网友评论

      本文标题:yield完成多任务

      本文链接:https://www.haomeiwen.com/subject/tewtfhtx.html