事件派发机制-工商银行iaas云建设的研究与实践

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