本节课时,我们介绍另一种解决任务间共享资源问题的方案:调度锁。

简而言之,这种方案就是告诉RTOS的内核调试器禁止调度,从而也就禁止了任务切换。这种方式不能禁止中断,但目前我们要解决的是任务之间共享资源的问题。

主要内容

工作原理

简而言之,这种方案就是通知调度器,禁止任务调度,从而告诉调度器忽略任何的调度请求。
调度锁解决任务间资源共享问题 - 图1
采用调度器后,原有的两个问题解决如下:
调度锁解决任务间资源共享问题 - 图2

调度锁解决任务间资源共享问题 - 图3

嵌套问题

类似于开关中断,存在同样的问题。不过一般调度锁都有实现锁定计数器,所以可以嵌套调用。具体需查阅RTOS的文档或代码。

特性总结

使用这种方式的特点和优缺点总结如下。
调度锁解决任务间资源共享问题 - 图4

重点难点

注意事项

常见问题