事件Event:带你体验鸿蒙轻内核中一对多、多对多任务同步
摘要:本文通过分析鸿蒙轻内核事件模块的源码,深入掌握事件的使用。 本文分享自华为云社区《鸿蒙轻内核M核源码分析系列十二 事件Event》,原文作者:zhushy 。 事件(Event)是一种任务间通信的机制,可用于任务间的同步。多任务环境下,任务之间往往需要同步操作,一个等待即是一个同步。事件可以提供一对多、多对多的同步操作。本文通过分析鸿蒙轻内核事件模块的源码,深入掌握事件的使用。本文中所涉及的源码,以OpenHarmony LiteOS-M内核为例, 均可以在开源站点https://gitee.com/openharmony/kernel_liteos_m获取。 接下来,我们看下事件的结构体,事件初始化,事件常用操作的源代码。 1、事件结构体定义和常用宏定义 1.1 事件结构体定义 在文件kernel\include\los_event.h定义的事件控制块结构体为EVENT_CB_S,结构体源代码如下,结构体成员的解释见注释部分。 typedef struct tagEvent { UINT32 uwEventID; /**< 事件ID,每一位标识一种事件类型 */ LO...