任务状态宏
2026/4/26小于 1 分钟宏定义任务常量
任务状态宏
📚 本节导读
用途: 定义任务的各种运行状态
来源: kernel/include/os_task.h:45
一、概述
1.1 概念定义
任务状态使用位掩码表示,一个任务可以同时处于多个状态(组合状态)。
二、状态定义
2.1 状态列表
| 宏名 | 值 | 说明 | 含义 |
|---|---|---|---|
OS_TASK_STATE_EMPTY | 0x0000U | 空状态 | 任务控制块未使用 |
OS_TASK_STATE_INIT | 0x0001U | 初始化状态 | 任务正在创建中 |
OS_TASK_STATE_READY | 0x0002U | 就绪状态 | 等待调度器调度 |
OS_TASK_STATE_RUNNING | 0x0004U | 运行状态 | 当前正在执行 |
OS_TASK_STATE_SLEEP | 0x0008U | 睡眠状态 | 延时等待中 |
OS_TASK_STATE_BLOCK | 0x0010U | 阻塞状态 | 等待资源(信号量、互斥锁等) |
OS_TASK_STATE_SUSPEND | 0x0020U | 挂起状态 | 手动暂停 |
OS_TASK_STATE_CLOSE | 0x8000U | 关闭状态 | 任务已结束 |
OS_TASK_STATE_MASK | 0xFFFFU | 状态掩码 | 用于提取状态位 |
2.2 状态转换
INIT → READY ←→ RUNNING
↓
SLEEP/BLOCK
↓
SUSPEND
↓
CLOSE2.3 状态组合示例
| 组合 | 说明 |
|---|---|
OS_TASK_STATE_READY | OS_TASK_STATE_SUSPEND | 挂起的就绪任务 |
OS_TASK_STATE_BLOCK | OS_TASK_STATE_SUSPEND | 挂起的阻塞任务 |