【发布时间】:2013-01-03 03:07:33
【问题描述】:
我试图绕过协作多任务系统的概念以及它在单线程应用程序中的工作原理。
我的理解是,这是“多任务处理的一种形式,其中多个任务通过在每个任务中由程序员定义的点自愿将控制权让给其他任务来执行。”
因此,如果您有一个任务列表并且一个任务正在执行,您如何确定将执行传递给另一个任务?当您将执行返回到之前的任务时,如何从之前的位置恢复?
我觉得这有点令人困惑,因为我不明白如果没有多线程应用程序如何实现这一点。
任何建议都会很有帮助:)
谢谢
【问题讨论】:
-
单线程、裸机(无操作系统)协作多任务一直在嵌入式系统(如微控制器)上完成。这是我写的一个无中断示例,它使用时间戳和状态机作为让多个任务在时间和/或以固定时间间隔做某些事情的一种方式,所有这些都在一个主循环中。 stackoverflow.com/a/50032992/4561887
标签: multitasking