vxworks系统学习----抢占上锁

抢占上锁

            通过调用taskLock()和taskUnlock(),可以禁用或启用wind内核调度程序。当任务调用taskLock()时,将禁止使用调度程序,则任务在执行的过程中,不会发生基于优先级的任务抢占。

当任务在执行的时候被阻塞或者挂起,taskLock的功能不再起作用,调度程序将启用任务优先级最高的任务执行。当抢占上锁的任务被解除阻塞重新执行时,调度程序再一次被阻止。抢占上锁可以实现互斥操作,但需保证上锁的事件尽可能短。

注:抢占上锁只能阻止任务的上下文的切换,并不能阻止中断的发生。


if  主控心跳超时

开始到换操作

taskLock()抢占上锁,禁止其他任务执行

devsm_reset_module 复位主控板

广播倒换报文

。。。。。。

发布了27 篇原创文章 · 获赞 19 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/muaxi8/article/details/52100757
今日推荐