【发布时间】:2021-09-07 10:44:30
【问题描述】:
使用“osThreadTerminate”函数终止线程时处于何种状态?
函数如下:
void High_Thread(void const *argument)
{
while(1)
{
GPIOE->DOUT_BYTE=0xFF;
osThreadTerminate(ThreadId_high
}
}
【问题讨论】:
-
??不再存在的东西怎么会有状态?你的问题没有意义:(
-
最好说出你想要归档的内容
-
有一个关于任务的问题,它询问线程在调用“osThreadTerminated”后处于什么状态。然后有以下状态:“未创建、运行、就绪、等待、非活动、暂停”。其中之一就是答案
-
@MartinJames,您假设“线程”在终止后不再存在。我不会。 OP 似乎在询问 CMSIS-RTOS。我不知道 CMSIS,但是即使在句柄所代表的东西“终止”(或“过期”)之后,像线程之类的东西的 句柄 也有充分的理由继续存在或“关闭”......)通常,很好的理由只是让程序可以询问状态。想想 Unix 进程,其中“已终止”进程继续作为“僵尸”存在,直到其父进程明确
wait()s 以获取其终止状态。
标签: c multithreading rtos cmsis