参考:【野火】物联网操作系统 LiteOS 开发实战指南
2 LiteOS常见句柄介绍
2.1 任务句柄
- 任务句柄(任务ID)是一个指针(
UINT32
),但是定义的时候是按照普通变量定义(起指针作用),而非指针变量 - 任务句柄用于指向一个任务,当任务创建好之后,它就具有了一个任务句柄
- 我们在操作某个任务时,都需要这个任务句柄
- 如果是自身的任务操作自己,那么这个句柄可以为NULL
2.2 内核对象句柄
- 内核对象:
- 信号量
- 消息队列
- 事件标志组
- 软件定时器等
- 要使用这些内核对象,必须先创建(调用对应函数),创建成功后会返回一个相应的句柄
- 内核对象句柄实际上就是一个指针,后续我们就可以通过这个句柄操作这些内核对象
- 内核对象说白了就是一种全局的数据结构,通过这些数据结构我们可以实现任务间的通信,任务间的事件同步等各种功能,这些功能的实现,我们是通过调用这些内核对象的函数来完成的