任务删除
当一个任务不需要了,可以选择将其删除,任务被删除了之后就无法再被调度器调度,进入运行态;任务占用的内存由空闲任务来进行释放,故调用的任务删除函数的API要保证空闲函数能够被调用,以进行内存回收,另外,任务中有用户创建并占用的内存空间要由应用程序进行显式的释放。
任务删除API函数如下:
void vTaskDelete( TaskHandle_t xTaskToDelete );
xTaskToDelete:任务句柄,创建任务时返回的句柄。如果删除自身,则传入NULL。
提示:
任务删除需要考虑该删除的任务配置的堆栈的大小,如果过小,可能会导致堆栈溢出,程序崩溃。