Lite OS学习之事件EVENT
1. Lite OS的事件EVENT,就是一个任务向另外一个任务通知事件的,不能数据传输。看下有的函数,实际比较复杂

2. 具体还是看编程,先全局结构体整个事件变量
/*事件控制结构体*/
EVENT_CB_S example_event;
/*等待的事件类型*/
#define event_wait 0x00000001
在其中一个任务A里面,初始化事件,然后写事件
uwRet = LOS_EventInit(&example_event);
uwRet = LOS_EventWrite(&example_event, event_wait);
另外一个更高优先级任务里面读这个事件
uwEvent = LOS_EventRead(&example_event, event_wait, LOS_WAITMODE_AND, );
等不用了,再清除掉这个事件
LOS_EventClear(&example_event, ~example_event.uwEventID);
3. 总结,读函数应该是阻塞的,一直等待事件,等A任务写之后,B优先级更高,B运行。所以写事件会触发一次任务调度。
Lite OS学习之事件EVENT的更多相关文章
- 学习笔记---Javascript事件Event、IE浏览器下的拖拽效果
		
学习笔记---Javascript事件Event.IE浏览器下的拖拽效果 1. 关于event常用属性有returnValue(是否允许事件处理继续进行, false为停止继续操作).srcE ...
 - Redis总结(五)缓存雪崩和缓存穿透等问题    Web API系列(三)统一异常处理    C#总结(一)AutoResetEvent的使用介绍(用AutoResetEvent实现同步)  C#总结(二)事件Event 介绍总结    C#总结(三)DataGridView增加全选列  Web API系列(二)接口安全和参数校验  RabbitMQ学习系列(六): RabbitMQ 高可用集群
		
Redis总结(五)缓存雪崩和缓存穿透等问题 前面讲过一些redis 缓存的使用和数据持久化.感兴趣的朋友可以看看之前的文章,http://www.cnblogs.com/zhangweizhon ...
 - libevent源码学习(9):事件event
		
目录在event之前需要知道的event_baseevent结构体创建/注册一个event向event_base中添加一个event设置event的优先级激活一个event删除一个event获取指定e ...
 - 经典线程同步 事件Event
		
阅读本篇之前推荐阅读以下姊妹篇: <秒杀多线程第四篇 一个经典的多线程同步问题> <秒杀多线程第五篇 经典线程同步关键段CS> 上一篇中使用关键段来解决经典的多线程同步互斥问题 ...
 - 多线程面试题系列(6):经典线程同步 事件Event
		
上一篇中使用关键段来解决经典的多线程同步互斥问题,由于关键段的"线程所有权"特性所以关键段只能用于线程的互斥而不能用于同步.本篇介绍用事件Event来尝试解决这个线程同步问题.首先 ...
 - 自定义事件——Event和CustomEvent
		
之前在学习自定义事件时,在MDN的Event.initEvent()页面顶端有写:该特性已从Web标准中删除,虽然一些浏览器目前仍然支持它,但也许会在未来的某个时间停止支持,请尽量不要使用该特性. 作 ...
 - {Python之线程}    一 背景知识     二 线程与进程的关系     三 线程的特点     四 线程的实际应用场景     五 内存中的线程     六 用户级线程和内核级线程(了解)     七 python与线程     八 Threading模块     九 锁     十 信号量     十一 事件Event     十二 条件Condition(了解)     十三 定时器
		
Python之线程 线程 本节目录 一 背景知识 二 线程与进程的关系 三 线程的特点 四 线程的实际应用场景 五 内存中的线程 六 用户级线程和内核级线程(了解) 七 python与线程 八 Thr ...
 - 详解 Solidity 事件Event - 完全搞懂事件的使用
		
很多同学对Solidity 中的Event有疑问,这篇文章就来详细的看看Solidity 中Event到底有什么用? 写在前面 Solidity 是以太坊智能合约编程语言,阅读本文前,你应该对以太坊. ...
 - 秒杀多线程第六篇 经典线程同步 事件Event
		
原文地址:http://blog.csdn.net/morewindows/article/details/7445233 上一篇中使用关键段来解决经典的多线程同步互斥问题,由于关键段的“线程所有权” ...
 
随机推荐
- 寄存器简介 与 ebp esp
			
http://www.cnblogs.com/zhuyuanhao/archive/2012/10/16/3262870.html 32位CPU所含有的寄存器有:4个数据寄存器(EAX.EBX.ECX ...
 - gluoncv 用已经训练好的模型参数,检测物体
			
当然这个模型参数,最好用自己的,否则不够精确,我自己的还没训练完. from matplotlib import pyplot as plt import gluoncv from gluoncv i ...
 - Django中模型(四)
			
Django中模型(四) 五.创建对象 1.目的 向数据库中添加数据.当创建对象时,Django不会对数据库进行读写操作,当调用save()方法时,才与数据库交互,将对象保存到数据库中 2.注意 __ ...
 - Python 模块化 from .. import 语句介绍 (二)
			
from语句 例一. from pathlib import Path,PosixPath print(dir()) print(Path) print(PosixPath) 运行结果: ['Path ...
 - JDK(三)JDK1.8源码分析【排序】mergeSort
			
归并排序是JDK对象数组的排序算法之一,接下来开始分析JDK的归并排序算法. /** * 将指定范围的对象数组按自然顺序升序排序 * * Src is the source array that st ...
 - IOS 创建简单表视图
			
创建简单表视图 此实例主要实现UITableViewDataSource协议中必需要实现的两个方法tableView:numberOfRowsInSection: 和tableView:cellFor ...
 - 深入理解计算机系统——系统级I/O
			
一.UNIX I/O 在UNIX系统中有一个说法,一切皆文件.所有的I/O设备,如网络.磁盘都被模型化为文件,而所有的输入和输出都被当做对相应文件的读和写来执行.这种将设备映射为文件的方式,允 ...
 - 网页静态化解决方案-Freemarker
			
1.1 技术简介与使用 1.1.1 简介 为什么使用: 1. 减轻数据库的访问压力,静态化比较适合大规模且相对变化不太频繁的数据: 2. 有利于SEO(搜索引擎优化); 纯的HTML ...
 - vue组件中,iview的modal组件爬坑--modal的显示与否应该是使用v-show
			
这是我第一次写博客,主要是记录下自己解决问题的过程和知识的总结,如有不对的地方欢迎指出来! 需求:点击btn,弹出modal显示图表(以折现图为例) 这应该是很基本的需求也是很容易实现的,代码和效果如 ...
 - 解决docker pull出现 error pulling image configuration: Get https://dseasb33srnrn.cloudfront.net······: net/http: TLS handshake timeout的问题
			
[root@MyCentos7 var]# docker pull javaUsing default tag: latestTrying to pull repository docker.io/l ...