ACE学习综述(1)

简介: ACE学习综述(1)

1. ACE学习综述


1.1. ACE项目的优点


  • 可以跨平台使用,基本上可以实现一次编写,多平台运行。
  • ACE本身不仅仅是一个简单的网络框架,对于网络框架涉及到的进程管理、线程管理等系统本身相关的内容也进行了统一的封装,甚至消息队列和内存管理等也都有统一封装。
  • 代码的质量还是比较高,能经得起长时间运行的考验。
  • 代码经过层层封装和模板通用性封装,仍然能够保持较高的性能。


1.2. ACE项目的缺点


  • ACE的前身是 《Unix网络编程》,该书页数达上千页,包括了各种网络开发的细节、移植扩展和网络开发架构模式,这就要求使用ACE开发网络的人必须具备了较丰富的网络开发经验。
  • ACE的代码已经比较庞大,且每个版本都有新功能加入,但是相关文档更新不及时。三本开发编程的书也都定位与基本的功能,想深入了解就必须从大量代码中选择代码阅读。
  • 由于ACE定位是跨平台开发,各个开发平台上的网络实现和数据结构各不相同,因为代码中充斥了大量的宏来区分,对于阅读代码造成了一定的障碍。
  • 学术性较强,设计模式与模板使用相对密集。阅读代码前需要先学习 POSA2 的图书。
  • ACE的类继承关系略显负责,层次较多,不利于学习和分析。


1.3. Reactor使用过程中的注意事项


  • 相对时间和绝对时间使用,相对超时时间常常用于这样的情况:操作可能会在能够继续执行之前迟滞,但只会被调用一次。 绝对时间常常被用于这样的情况:操作可能会通过循环多次调用。绝对时间的使用使得无需每次循环重新计算超时值。 具体可参考 《C++ 网络编程卷二》 中文 P45,副栏6。
  • handle_*() 函数(Reactor会忽略handle_close的返回值)的返回值,决定着Reactor后续对相关MASK的处理。 == 0 正常处理 > 0 Reactor继续为此事件检测和分配已经登记的时间。 == -1 Reactor应停止对时间处理器已经登记的MASK。 如何跟踪已经注册的事件,则可参考 《C++ 网络编程卷二》 P51, 副栏 10。
  • 对于事件处理器的资源释放集中在其 handle_close 函数中进行。如果为动态分配的对象,可以在关闭所有资源后调用 delete this。
  • reactor->remove_handler(eh,mask),如果没有设置 ACE_Event_Handler::DONT_CALL 标志,会调用该 mask 的 handle_close 函数,因此如果在 handle_close 函数中调用 remove_handler 函数,需要添加ACE_Event_Handler::DONT_CALL 标志,避免 handle_close 的递归调用。
目录
相关文章
|
算法 固态存储
学习:常见图像匹配综述
学习:常见图像匹配综述
357 0
学习:常见图像匹配综述
|
机器学习/深度学习 人工智能 自然语言处理
500篇论文!最全代码大模型综述来袭
11月14日,蚂蚁集团联合上海交通大学发布55页代码大模型综述,覆盖超过50个模型、30个下游任务、500篇参考文献,全方位总结大语言模型在代码相关应用中的最新进展与挑战。
1492 0
|
机器学习/深度学习 人工智能 算法
高级技术综述
高级技术综述
63 3
|
机器学习/深度学习 自然语言处理 算法
2023无监督摘要顶会论文合集
2023无监督摘要顶会论文合集
229 0
|
机器学习/深度学习 人工智能 测试技术
三篇论文:速览GPT在网络安全最新论文中的应用案例
三篇论文:速览GPT在网络安全最新论文中的应用案例
224 0
|
机器学习/深度学习 人工智能 编解码
AAAI/CVPR论文详解 | 万字长文了解可解释AI工具及技术的最新进展(1)
AAAI/CVPR论文详解 | 万字长文了解可解释AI工具及技术的最新进展
240 0
|
人工智能 算法 计算机视觉
AAAI/CVPR论文详解 | 万字长文了解可解释AI工具及技术的最新进展(2)
AAAI/CVPR论文详解 | 万字长文了解可解释AI工具及技术的最新进展
299 0
|
机器学习/深度学习 人工智能 算法
AAAI/CVPR论文详解 | 万字长文了解可解释AI工具及技术的最新进展(3)
AAAI/CVPR论文详解 | 万字长文了解可解释AI工具及技术的最新进展
234 0
|
人工智能 JSON 运维
理论用于实践!华为配置管理研究获SIGCOMM 2022最佳论文奖(1)
理论用于实践!华为配置管理研究获SIGCOMM 2022最佳论文奖
167 0
|
机器学习/深度学习 人工智能 运维
理论用于实践!华为配置管理研究获SIGCOMM 2022最佳论文奖(2)
理论用于实践!华为配置管理研究获SIGCOMM 2022最佳论文奖
165 0