【发布时间】:2013-07-11 09:39:58
【问题描述】:
是否可以在 C++ 中使用 ACE 线程来执行不同的任务?
例如假设用户创建了两个名为 threadA 和 threadB 的线程。一旦他们完成了某些函数的执行,我们可以使用同一个线程threadA和threadB进行其他一些操作吗?
如果可以的话怎么做?
【问题讨论】:
标签: ace
是否可以在 C++ 中使用 ACE 线程来执行不同的任务?
例如假设用户创建了两个名为 threadA 和 threadB 的线程。一旦他们完成了某些函数的执行,我们可以使用同一个线程threadA和threadB进行其他一些操作吗?
如果可以的话怎么做?
【问题讨论】:
标签: ace
有什么好处? 无论如何,您可以创建自己的类派生自 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,而不是选择要做什么。
【讨论】: