ACE的内存与资源管理建立在一些约定之上,这些约定并没有单独的章节去介绍。这里统一归纳一下
相关资源
编码规范
file://$(ACE_ROOT)/docs/ACE-guidelines.html
消息队列
ACE_Message_Queue消息队列中的消息ACE_Message_Block:
(1)创建:伴随业务创建堆对象
(2)释放:谁使用,谁负责释放,使用完使用release方法释放
函数返回值的意义
(1)返回0:正常情况一般都返回0
(2)返回-1 :很多模式都会触发自动处理流程,通常表示异常情况
服务处理器ACE_Event_Handler
(1)创建:伴随业务创建堆对象
(2)open=》close:谁调用open,谁在open返回-1的时候调用close ,参考Acceptor-Connector模式
(3)handle_*=》handle_close:谁调用handle_*,谁在handle_*返回-1的时候调用handle_close,参考ACE_Reactor模式
举例
(1)ACE_Svc_Handler的open返回-1时=》close=》handle_close=》destroy=》delete this
(2)ACE_Svc_Handler的handle_close方法执行时=》destroy》delete this
覆盖基类的方法
如果用户覆盖了基类的方法,要注意父类的释放方式是否完全满足,如果不满足,也应该按照ACE的上述约定来重写