抢占上锁
通过调用taskLock()和taskUnlock(),可以禁用或启用wind内核调度程序。当任务调用taskLock()时,将禁止使用调度程序,则任务在执行的过程中,不会发生基于优先级的任务抢占。
当任务在执行的时候被阻塞或者挂起,taskLock的功能不再起作用,调度程序将启用任务优先级最高的任务执行。当抢占上锁的任务被解除阻塞重新执行时,调度程序再一次被阻止。抢占上锁可以实现互斥操作,但需保证上锁的事件尽可能短。
注:抢占上锁只能阻止任务的上下文的切换,并不能阻止中断的发生。