32. 任务通知

一代枭雄 / 2023-08-27 / 原文

1. 任务通知简介

任务通知:用来通知任务的,任务控制块中的结构体成员变量 ulNotifiedValue就是这个通知值。

既然前面队列,信号量,事件标志组可以用来通知任务,那么我们为什么还需要任务通知呢?

任务通知的内存消耗比较小

既然任务通知这么牛逼,那么为什么还会有队列,信号量和事件标志组,直接用任务通知不就可以了嘛,一个顶三,何乐而不为呢?

上面也说了在一些场合中,才可以使用任务通知。也就是说任务通知的使用是有局限性的

任务通知的优势及劣势

任务都有一个结构体:任务控制块TCB,它里边有两个结构体成员变量:

任务通知状态 

其中任务通知状态共有3种取值: