【发布时间】:2019-12-12 15:36:47
【问题描述】:
例如在下面的代码中
while(1){
task1();
task2();
}
task1() 和 task2() 之间应该有合作,它们以 rr 方式执行。但是,如果 task1() 实现如下
task1(){
while(1);
}
有没有办法构建一个调度器,通过仅依赖软件(例如每 500 毫秒切换一次任务)来避免 task1() 垄断资源?
【问题讨论】:
-
什么处理器?我熟悉 ARM,这当然是可能的。
-
任何处理器。你能链接一些资源吗?
-
这就是所谓的抢先式多任务,通常通过使用两个线程或进程来实现。
-
您可以使用 FreeRTOS、Mbed OS 等实时操作系统 (RTOS) 来实现此目的。