RT-thread-线程间通讯3-事件集

本文介绍了RT-Thread操作系统中事件集的使用,作为线程间同步的一种机制,事件集允许一对多或多对多的同步。事件集的特点包括与线程相关、仅用于同步且无数据传输、无排队性。操作包括创建/删除、初始化/脱离、发送和接收事件。此外,文中还给出了事件集在多线程同步中的实例应用。

事件集

事件集也是线程间同步的机制之一,一个事件集可以包含多个事件,利用事件集可以完成一对多,多对多的线程间同步。

一个线程和多个事件的关系可设置为:

其中任意一个事件唤醒 线程,或几个事件都到达后唤醒线程,多个事件集合可以用一个32bit无符号整型变量来表示,变量的每一位代表一个事件,线程通过"逻辑与"或"逻辑或"将一个或多个事件关联起来,形成事件组合。

RT-Thread 定义的事件集有以下特点:

☐ 事件只与线程相关,事件间相互独立

☐ 事件仅用于同步,不提供数据传输功能

☐ 事件无排队性,即多次向线程发送同一事件(如果线程还未来得及读走),其效果等同于只发送一次

1、事件集使用和管理方法

对一个事件集的操作包含:创建/初始化事件集、发送事件、接收事件、删除/脱离事件集。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ycjunhua

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值