网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

SylixOS事件集实现原理

1 事件集简介

网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了吉州免费建站欢迎大家使用!

      事件集是一种线程间通讯方式,可有效处理线程与线程之间的资源生产与消费的同步问题。在SylixOS中事件集被定义为ULONG类型,每一位代表一个事件,即一个事件集可以处理32个不同的事件。事件集提供了发送和等待事件的API,资源生产者在资源准备好后发送事件,资源消费者则等待接收事件,如图 1.1所示。

SylixOS事件集实现原理

图 1.1 事件集

2 事件集数据结构

      SylixOS中事件集相关的数据结构主要有两个,即事件集对象资源管理块与事件集缓冲区。系统事先准备好固定数量的事件集缓冲区,当应用申请事件集时则从缓冲区中选取未使用的节点。事件集缓冲区由事件集对象资源管理块管理,如图 2.1所示。

SylixOS事件集实现原理

图 2.1 事件集结构

3 事件集创建流程

      事件集的创建流程本质上就是准备事件集控制节点的过程。首先检查事件集缓冲区中是否有空余位置,若已满则返回错误。若还存在空余位置则获取此位置并按照接口参数要求配置此控制节点以备后用,如图 3.1所示。

SylixOS事件集实现原理

图 3.1 事件集创建流程

4 事件集发送流程

      事件集发送流程首先需要在缓冲区中找到对应的事件集控制节点,然后按照接口参数的要求设置或清空对应的事件状态位。当对应的事件状态被修改后还需要检查当前此事件集中是否有正在等待的线程。若有则判断当前的修改是否满足此线程的唤醒条件,满足则唤醒此线程,即将线程加入就绪队列中,如图 4.1所示

SylixOS事件集实现原理

图 4.1 事件集发送流程

5 事件集接收流程

      在接收事件集时首先会判断当前是否满足激活条件,即是否有线程发送满足条件的事件集。若没有则线程会被阻塞,等待条件被满足。线程阻塞可以设置超时时间,若此时间内没有接收到满足条件的事件集则返回超时标志,如图 5.1所示。

SylixOS事件集实现原理

图 5.1 事件集接收流程


网站题目:SylixOS事件集实现原理
路径分享:http://bjjierui.cn/article/pjdsep.html

其他资讯