FreeRTOS的任务状态

FreeRTOS 的任务状态

FreeRTOS 的运行支持以下四种状态:

  • Running—运行态
    当任务处于实际运行状态称之为运行态,即CPU的使用权被这个任务占用。
  • Ready—就绪态
    处于就绪态的任务是指那些能够运行(没有被阻塞和挂起),但是当前没有运行的任务,因为同优先级或更高优先级的任务正在运行。
  • Blocked—阻塞态
    由于等待信号量,消息队列,事件标志组等而处于的状态被称之为阻塞态,另外任务调用延迟函数也会处于阻塞态。
  • Suspended—挂起态
    类似阻塞态,通过调用函数 vTaskSuspend() 对指定任务进行挂起,挂起后这个任务将不被执行,只有调用函数 xTaskResume() 才可以将这个任务从挂起态恢复。

下面是任务在各个状态之间切换的关系图:
FreeRTOS的任务状态_第1张图片

你可能感兴趣的:(嵌入式操作系统)