ACE自适配通信环境
2007-03-16 21:57:31 来源:WEB开发网ACE采用了许多技术来降低或消除额外的性能开销。例如,ACE大量地使用C++内联来消除额外的方法调用开销;这样的开销可能由OS适配层和C++包装所提供的额外的类型安全和抽象层次带来。此外,对于关键性能的包装,比如socket和文件I/O的send/recv方法,ACE会避免使用虚函数。
六、构架
ACE还包含一个高级的网络编程构架,集成并增强了较低层次的C++包装外观。该构架支持将并发分布式服务动态配置进应用。ACE的构架部分包含以下组件:
(1) 事件多路分离组件:ACE Reactor(反应堆)和Proactor(前摄器)是可扩展的面向对象多路分离器,它们分派应用专有的处理器,以响应多种类型的基于I/O、定时器、信号和同步的事件。
(2) 服务初始化组件:ACE Acceptor(接受器)和Connector(连接器)组件分别使主动和被动的初始化任务与初始化一旦完成后通信服务所执行的应用专有的任务去耦合。
(3) 服务配置组件:ACE Service Configurator(服务配置器)支持应用的配置,这些应用的服务可在安装时和/或运行时被动态装配。
(4) 分层的流组件:ACE Stream组件简化了像用户级协议栈这样的由分层服务组成的通信软件应用的开发。
(5)ORB适配器组件:通过ORB适配器,ACE可以与单线程和多线程CORBA实现进行无缝集成。
ACE构架组件便利了通信软件的开发,它们无需修改、重编译、重链接,或频繁地重启运行中的应用,就可被更新和扩展。在ACE中,这样的灵活性是通过结合以下要素来获得的:(1)C++语言特性,比如模板、继承和动态绑定,(2)设计模式,比如抽象工厂、策略和服务配置器,以及(3)OS机制,比如显式动态链接和多线程。
七、分布式服务和组件
除了OS适配层、C++包装外观和构架组件,ACE还提供了包装成自包含组件的标准分布式服务库。尽管这些服务组件并不是ACE构架库的严格组成部分,它们在ACE中扮演了两种角色:
更多精彩
赞助商链接