线程终止后的状态

问题描述

当线程被“osThreadTerminate”函数终止时,它处于哪种状态?

功能如下:

void High_Thread(void const *argument)
{
  while(1)
  {
   GPIOE->DOUT_BYTE=0xFF;
   osThreadTerminate(ThreadId_high
  }
}

解决方法

这是 CMSIS 实时操作系统。线程是不返回的简单函数。当您删除线程(我认为在这种情况下更好的名称是任务)时,任务堆栈和 TCB(任务控制块)将从 RTOS 堆中删除。

移除的任务不存在,也不处于任何状态。任务代码不改变,因为它驻留在非易失性存储器(FLASH)中

phthreads 与 CMSIS RTOS 没有任何共同点,我已删除此标签。