收藏

micropython 协程调度器demo代码

分类: 基础知识篇 >> ESP32系统相关 发布于 2024-05-16 382次阅读0点赞0收藏

协程demo

#python 协程demo

import time

taskcount=3

def task1():  
  while True:
    print("-----i am task1-----")
    yield(100)

def task2():
  while True:
    print("-----i am task2-----")
    yield(200)

def task3():
  while True:
    print("-----i am task3-----")
    yield(300)

timerlist=[0,0,0]     #任务时间队列
tasklist=[task1(),task2(),task3()]

def updatetimers():
  for i in range(0,taskcount):
     if timerlist[i]>0:
       timerlist[i]=timerlist[i]-1

def runtasks():    
  for i in range(0,taskcount):   
    if timerlist[i]==0:
      timerlist[i]=next(tasklist[i])

while True:
    time.sleep(0.001)
    updatetimers()
    runtasks()
VIP
购买
建议
意见
联系
客服
在线咨询

您可以与在线客服进行沟通获得帮助

工作日:8:00~22:00节假日:9:00~20:00

微信号: mpyos01

Q Q号: 1401211620

免费
福利
0.049121s