[讨论] UCOS多任务切换问题

ikikedota   2015-2-7 21:39 楼主
如果系统有3个任务a、b、c,优先级a>b>c,a任务的函数体执行完,进行延时,在延时阶段,系统自动会切换去执行次优先级的任务b,假如b的函数体执行完,而且它的延时等待也完成时,a任务的延时等待刚好也完成了,那按照优先级顺序,系统应该再次执行优先级最高的任务a,这样是不是就会出现c任务一直没有机会执行? UCOS新手,以上只是我初入系统的一点想法,不知道对不对,请大家吐槽。 本帖最后由 ikikedota 于 2015-2-7 21:41 编辑

回复评论 (1)

如果a只有一次是 阻塞延迟,以后 都不阻塞延迟,那c 和 b都永远没机会执行。
——b曾经有机会执行,就你刚说的那次,但以后就绝对没机会了,假如a以后都不延迟。

但事实上,谁会这么蛋疼的写a呢?
它就为了炫耀一次给别人机会才阻塞,以后就不阻塞了?

显然这种蛋疼的写法是没啥机会的,但假如有,那你说对了,b c都被饿死了
强者为尊,弱者,死无葬身之地
点赞  2015-2-7 23:41
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复