是否可以在c ++中使用ACE线程来执行不同的任务?
例如,假设用户创建两个名为threadA和threadB的线程。一旦他们完成某些函数的执行,我们可以使用相同的线程threadA和threadB进行其他操作吗?
如果可能的话怎么样?
请帮助我。
谢谢& Regrads 维卡斯
答案 0 :(得分:0)
有什么好处? 无论如何,你可以创建自己的类派生自ACE_Task
class myjob : public ACE_Task< ACE_MT_SYNCH >
{
public:
......
//derived from ACE_Task
virtual int open( void *arg = NULL );
//derived from ACE_Task
virtual int svc();
}
而不是打电话
this->activate();
in open();在
中完成你的工作int svc()
{
while( _running )
....
}
你可以将被ACE_Message_Block(myjob :: putq(ACE_Message_Block * pmb,ACE_Time_Value&amp; timeout))扭曲的消息传递给myjob,而不是选择要做什么。