文件名称:事件派发机制-《中国2060年前碳中和研究报告》
文件大小:4.49MB
文件格式:PDF
更新时间:2024-06-28 01:03:12
UML 状态图 实用C设计 实用C++设计 中文全文
6.4 事件派发机制 每个实时框架的一个主要责任是高效的把事件从生产者派发到消费者。事件派发通常是异步的,意味着 事件生产者仅把它们插入事件队列,但是不会等待事件的实际处理过程。 通常,不仅是活动对象,系统的任何部分都可以产生事件。例如 ISR ,设备驱动代码,或运行在 框架外面的 legacy 代码,都可以产生事件。在另一方面,只有活动对象能消费事件,因为只有活动对象 才有事件队列。 注: 一个框架也可以提供“原生”线程安全的事件队列而且不需要活动对象在它们后面。这类“原 生”线程安全的队列也可以消费事件,但是它们绝不阻塞,它们被设计用于给 ISR 派发事件, 也就是说,提供一个从任务层到 ISR 层的通讯机制。 实时框架典型地支持 2 类事件派发机制(见图 6.10 ) 1. 简单的事件直接发送机制:一个事件的生产者直接发送这个事件到消费者活动对象的事件 队列。 2. 更加成熟的发行 - 订阅派发机制,这里一个生产者“发行”一个事件给框架,框架然后 把这个事件派发给所有已经“订阅”了这个事件的活动对象。发行 - 订阅机制提供了在 事件产生者和消费者之间较低的耦合。 保留中文简体翻译的全部版权 anymcu@gmail.com 2010 210