ACE_Svc_Handler与ACE_Task的问题
目前我采用的做法:class CInnerAcceptor : public ACE_Svc_Handler<ACE_SOCK_STREAM,
ACE_MT_SYNCH>
{
hand_input ()
{
MY_TASK::instance ()->putq (mb);
}
};
后来我看到ACE_Svc_Handler也继承了ACE_Task.那就是说可以将hand_input的数据put到自身的task中去..
但如果那样的话就遇到问题了:
typedef ACE_Acceptor<CInnerAcceptor, ACE_SOCK_ACCEPTOR> InnerAcceptor;
首先:
我是不是可以这样理解,,当有连接时就会new 一个CInnerAcceptor, 当handle_input 返回-1时,就会将刚才new 出
的对象delete掉? 是不是这样..
那好,如果是这样的话.ACE_Svc_Handler不是也继承了ACE_Task吗.那delete的时候会不会也把svc线程中中止掉? 当handle_input 返回-1时,就会将刚才new 出
的对象delete掉?
doesn't have to, unless you have ref_count
如果是这样的话.ACE_Svc_Handler不是也继承了ACE_Task吗.那delete的时候会不会也把svc线程中中止掉?
No.
页:
[1]