0

是否可以在 C++ 中使用 ACE 线程来执行不同的任务?

例如,假设用户创建了两个名为threadA 和threadB 的线程。一旦他们完成了某些函数的执行,我们可以使用同一个线程threadA和threadB进行其他操作吗?

如果可能,那怎么办?

4

1 回答 1

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();

在打开();运行你的工作

int svc()
{
    while( _running )
       ....
}

您可以将 ACE_Message_Block(myjob::putq( ACE_Message_Block *pmb, ACE_Time_Value &timeout) ) 扭曲的消息传递给 myjob,而不是选择做什么。

于 2013-07-22T06:54:57.333 回答