1.抢占式调度:高优先级的任务优先执行,并且可以打断低优先级的任务执行。
在FreeRTOSConfig.h中开启configUSE_PREEMPTION宏,将宏设置为1,关闭(将宏设置为0)
2.时间片轮转:相同优先级的任务,拥有相同的时间片(1ms),当时间片被耗尽,就退出当前任务。
保证代码执行的公平性。
任务的状态
Ready:当任务被创建出来后就会进入到就绪态
Running:当任务正在执行就是运行态
Blocked:等待某一个事件
Suspended:任务被挂起,无法执行,但是任务还是存在
空闲指的就是当系统中无其他任务在执行时就会执行空闲任务,空闲任务是在开启调度器的时候被创建。
空闲任务的作用:
1.空闲任务可以防止CPU进入空转的状态,节约CPU的资源。
2.回收被释放的任务资源