第一:鸿蒙系统中事件简介
1:基本概念
事件(Event)是一种任务间的通信机制,可用于任务间的同步操作。事件的特点是:
-
任务间的事件同步,可以一对多,也可以多对多。一对多表示一个任务可以等待多个事件,多对多表示多个任务可以等待多个事件。但是一次写事件最多触发一个任务从阻塞中醒来。
-
事件读超时机制。
-
只做任务间同步,不传输具体数据。
提供了事件初始化、事件读写、事件清零、事件销毁等接口。
第二:鸿蒙系统中运行机制
1:事件控制块
由事件初始化函数配置的一个结构体,在事件读写等操作时作为参数传入,用于标识不同的事件,控制块数据结构如下:
typedef struct tagEvent {
UINT32 uwEventID; /* 事件集合,表示已经处理(写入和清零)的事件集合 */
LOS_DL_LIST stEventList; /* 等待特定事件的任务链表 */
} EVENT_