推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

实验82_任务删除后资源回收验证.docx

更新时间:2026-09-13 12:07:42 大小:38K 上传用户:烟雨查看TA发布的资源 标签:FreeRTOS任务删除资源回收空闲任务内存管理 下载积分:2分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

实验 82:任务删除后资源回收验证

实验说明

实验概述

当任务被删除时,FreeRTOS 不会立即回收其栈空间和 TCB,而是将回收任务交给空闲任务处理。这意味着在调用 vTaskDelete() 后,必须确保空闲任务有机会运行,否则内存无法被回收。本实验验证任务删除后的资源回收机制。

实验原理

调用 vTaskDelete() 后,被删除的任务被移入"等待终止"列表,空闲任务在每次循环中检查该列表并回收资源。如果空闲任务没有机会运行(例如被更高优先级的任务持续占用 CPU),则内存无法被回收。本实验通过监控删除前后的堆空间变化来验证回收机制。

实验现象

创建并删除任务,在删除后立即观察堆空间(未回收),延时后让空闲任务运行后再观察(已回收)。

完整代码

  c
#include "FreeRTOS.h"
#include "task.h"
#include <stdio.h>

TaskHandle_t xTempTaskHandle = NULL;

/* 临时任务 */
static void vTempTask(void *pvParameters)
{
    printf("[临时任务] 启动,运行完成后自我删除\r\n");
    vTaskDelay(pdMS_TO_TICKS(500));
    printf("[临时任务] 即将删除\r\n");
    vTaskDelete(NULL);
}


部分文件列表

文件名 大小
实验82_任务删除后资源回收验证.docx 38K

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单
  • 21下载积分 打赏65.00元   3天前

    用户:xzxbybd

  • 21下载积分 打赏60.00元   3天前

    用户:jh0355

  • 21下载积分 打赏60.00元   3天前

    用户:w178191520

  • 21下载积分 打赏20.00元   3天前

    用户:jh03551

  • 21下载积分 打赏20.00元   3天前

    用户:sun2152

  • 21下载积分 打赏20.00元   3天前

    用户:kk1957135547

  • 21下载积分 打赏25.00元   3天前

    用户:w1966891335

  • 21下载积分 打赏20.00元   3天前

    用户:xuzhen1

  • 21下载积分 打赏15.00元   3天前

    用户:x15580286248

  • 21下载积分 打赏25.00元   3天前

    用户:pcb

  • 21下载积分 打赏20.00元   3天前

    用户:bhacker

  • 21下载积分 打赏15.00元   3天前

    用户:liqiang9090

  • 21下载积分 打赏25.00元   3天前

    用户:有理想666

  • 21下载积分 打赏15.00元   3天前

    用户:godbox

  • 21下载积分 打赏15.00元   3天前

    用户:aetek

  • 21下载积分 打赏5.00元   3天前

    用户:mulanhk

  • 21下载积分 打赏5.00元   3天前

    用户:JuneLin61

  • 21下载积分 打赏5.00元   3天前

    用户:ccc6188

  • 21下载积分 打赏5.00元   3天前

    用户:木集盒

推荐下载