当前位置: 首页 > news >正文

事件相关介绍

1、事件基本概念

事件是一种实现任务间通信的机制,主要用于实现多任务间的同步,但事件通信只能是事件类型的通信,无数据传输。与信号量不同的是,它可以实现一对多,多对多的同步。即一个任务可以等待多个事件的发生:可以是任意一个事件发生时唤醒任务进行事件处理;也可以是几个事件都发生后才唤醒任务进行事件处理。同样,也可以是多个任务同步多个事件。

2、事件标志组简介

首先介绍两个概念。

事件标志位:用一个位,来表示事件是否发生。

事件标志组:一组事件标志位的集合,可以简单的理解事件标志组,就是一个整数。

事件标志组的特点:

(1)它的每一位表示一个事件(高8位不算)

(2)每一位事件的含义,由用户自己决定,比如:bit0表示按键是否按下,bit1表示是否接收到消息。这些位的值为1:表示事件发生了;值为0:表示事件未发生。

(3)任意任务或中断都可以读写这些位。

(4)可以等待某一位成立,或者等待多位同时成立。

-------------------------------------------------------------------------------------------------------------------------------为什么第一个特点中说高8位不表示事件呢?

因为高8位的作用是存储事件标志组的控制信息。以一个32位时间标志组为例。

-------------------------------------------------------------------------------------------------------------------------------

3、事件相关API函数

动态方式创建事件标志组

清除事件标志位

设置事件标志位

等待事件标志位

同步函数


http://www.mrgr.cn/news/11888.html

相关文章:

  • SQL进阶技巧:如何按任意时段分析时间区间问题? | 分区间讨论【左、中、右】
  • 万邑通信息科技笔试题库:北森测评言语数字图形真题答题要求及真题分享
  • 学习大数据DAY44 帆软 report 配置
  • (转载)使用zed相机录制视频
  • VLDB 2024 即将来袭!创邻科技将带来精彩分享
  • 【C语言】深入理解指针3(附转移表源码)
  • 外包干了两年,快要废了。。。
  • SE11 没有激活的名称表存 No active nametab exists for
  • SQL 优化实践:从慢查询到高性能更新
  • C语言 | Leetcode C语言题解之第375题猜数字大小II
  • ShareSDK 企业微信
  • [数据集][目标检测]电力场景红外图像输电线路绝缘子检测数据集VOC+YOLO格式1846张1类别
  • Java 面试题:在浏览里输入URL后回车会发生什么--xunznux
  • DDS IP实现啁啾信号
  • 阅读笔记5:董超底层视觉之美|时空的交错与融合——论视频超分辨率
  • scriptlet failed, exit status 1
  • 树莓派4B安装golang最新版(20210520)
  • 基于tcp c/s的网络通信
  • Android 应用集成百度地图定位SDK
  • Elasticsearch(面试篇)