Python用yield实现多任务(yield协程)

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

t1 = task_1()
t2 = task_2()
while True:
    next(t1)
    next(t2)

yield后面也可以不跟值

这里就属于并发了

并行和并发的区别  https://blog.csdn.net/hxxjxw/article/details/121563585

这种多任务的实现就像是调用一个函数一样简单。

进程线程都能实现多任务,但是他们之间切换任务占用的资源相当大。协程相比就会更好

Guess you like

Origin blog.csdn.net/hxxjxw/article/details/121563513