是否可以在 C++ 中使用 ACE 线程来执行不同的任务?
例如,假设用户创建了两个名为threadA 和threadB 的线程。一旦他们完成了某些函数的执行,我们可以使用同一个线程threadA和threadB进行其他操作吗?
如果可能,那怎么办?
是否可以在 C++ 中使用 ACE 线程来执行不同的任务?
例如,假设用户创建了两个名为threadA 和threadB 的线程。一旦他们完成了某些函数的执行,我们可以使用同一个线程threadA和threadB进行其他操作吗?
如果可能,那怎么办?
有什么好处?无论如何,您可以创建自己的类派生自 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,而不是选择做什么。