Posted on 2007-08-03 12:42
宝杉 阅读(1578)
评论(0) 编辑 收藏 引用 所属分类:
ACE/CORBA
1 介绍
此文描述了组成ACE框架的Reactor模式的设计和执行。Reactor负责处理由一个或多个client并发的传递给一个应用程序的服务请求。应用程序的每个服务由一个分离的event handler(事件句柄)执行,event handler包括一个或多个进程的服务器特殊请求的方法。
此文描述的Reactor模式的执行,event handler分发是由ACE_Reactor实现的。ACE_Reactor结合I/O事件的分离器,以及其他类型的时间,比如timers和signals。ACE_Reactor的核心实现是基于同步事件分离,比如select或者WaitForMultipleObjects。当分离器指示指定的事件发生了,ACE_Reactor会自动分发预先注册的事件句柄的方法。注册的event handler方法会完成应用程序对应请求事件的服务。
本文组织如下:第二章描述ACE_Reactor框架主要特性;第三章大致介绍ACE_Reactor实现的OO(面向对象)设计;第四章举了服务器端实现的例子,用以证明ACE_Reactor怎样简化并发的,基于事件的网络应用程序的发展;第五章描述当使用ACE_Reactor开发基于事件的应用程序的设计规则;第六章是结束语。
2 ACE_Reactor的特性
ACE_Reactor提供OO的事件分离机制和消息分发框架,它简化基于事件的应用程序的开发。以下特性是:
OO的事件分离和消息分发接口:
使用ACE_Reactor的应用程序不直接调用底层OS(操作系统)的事件分离API函数。比如select或WaitForMultipleObjects。他们继承ACE Event Handler基类并创建了具体的event handlers。这个类用特定的虚拟函数处理不同类型的事件,比如I/O事件,timer事件,signals(信号量机制),和同步事件。
应用程序用Reactor框架创建具体的event handler,并注册他们。特性1显示了ACE Reactor.的关键组件。这个特性描述执行日子服务的事件句柄,这个在第四章讲述。