我已经看到了如何在我的项目中启动线程,我们正在使用ACE库。但是我有一个问题,当ACE_TASK没有任何激活函数时,如何在派生自MyClass类的类中调用它。activate函数位于从ACE_TASK_BASE派生的ACE_TASK类中。但是MyClass类和ACE_TASK_BASE没有任何直接关系?
class MyClass: public ACE_Task< ACE_MT_SYNCH > {
public:
//derived from ACE_Task
virtual int open( void *arg = NULL );
//derived from ACE_Task
virtual int svc();
};
//then we are calling
this->activate(); // ?????
in open(); //running our job in
int svc() {
while( _running )
....
}发布于 2022-10-15 14:10:27
您描述了activate()如何在MyClass中可用-它从ACE_Task继承而从ACE_Task_Base继承。MyClass可以访问继承链中的所有公共方法和受保护的方法。
https://stackoverflow.com/questions/74076165
复制相似问题