请教,如何实现两个线程相互取消
有两个线程,分别为A和B在主线程中,派生出了A线程和B线程
我想实现的时,A或者B有一个线程结束时,另一个线程也要结束
大家有什么想法吗? 我是这样实现的
int t_id_run=ACE_Thread_Manager::instance()->spawn(run_recv_file,(void*)(recvfile_handler_));
int t_id_control=ACE_Thread_Manager::instance()->spawn(run_control,(void*)(recvfile_handler_));
//ACE_Thread_Manager::instance()->wait();
while(1)
{
if(线程t_id_run结束)
{
ACE_Thread_Manager::instance()->cancel(t_id_control);
break;
}
if(线程t_id_control结束)
{
ACE_Thread_Manager::instance()->cancel(t_id_run);
break;
}
}
但怎么查得到线程的状态呢? 很多方法,shared context/mutex.., 或让A直接含有B的reference.
页:
[1]