立马阻塞后,立马就会调度低优先级的任务执行吗,还是等待tick中断在去调度低优先级的任务,这剩下的0.5个tick用来做什么?
假设有A、B、C三个任务,A的优先级比较高,B、C优先级一样。A刚运行0.8个tick就调用vTaskDelay放弃运行,那么就会从B、C里挑一个出来运行:假设挑到B运行。B运行完0.2个tick后,产生tick中断,tick中断会挑出下一个任务就是C来运行。C可以运行完1个完整的tick,然后轮到B运行。你看,并没有绝对的公平,B第一次运行时只运行了0.2个tick。