章节列表

事件标志组的等待与通知

2018-05-29 03:39:42 +0000 李述铜

欢迎进入到事件标志组的等待与通知两个接口实现课时!

不过,这两个接口的实现相比邮箱/存储块的类似接口实现起来要复杂一些,主要因为任务可以同时等待一个或多个、以不同的方式等待标志组。这种组合方式变化多样,使得我们很难用类似前面介绍过的模块的处理模式进行同样的处理。

主要内容

等待事件标志

在本课程的设计中,任务等待事件标志可以选择以下几种不同的模式。

而无论是哪一种模式,任务都可以选择等待其中的一位或多位标志组。例如:

只要模式不满足或者出现要求的标志位位图不够,任务都必须在等待队列中等待。

通知事件

当事件发生时,需要通知事件标志组,导致事件标志位发生变化。由于等待队列中,各个任务是在等待特定模式、特定标志位出现,所以事件发生时不一定会让任务唤醒。

因而,在通知操作中,需要遍历等待队列中的第一个任务,检查任务所期望的标志位序号和模式是否发生。仅当条件满足时,才唤醒任务。

重点难点

注意事项

常见问题