加入特定的提升线程

sri*_*sri 8 c++ boost boost-thread

我在一个过程中创建了大约300个增强线程.有没有办法根据线程ID加入特定的线程?

Zet*_*eta 9

它天堂取决于你如何拯救boost::threads.如果将它们保存在一个容器中(带T = boost::thread*),你可以简单地使用类似的东西

for(iterator it = ctn.begin(); it != ctn.end(); ++it){
    if(it->get_id() == join_thread_id){
        it->join();
        break;
    }        
}
Run Code Online (Sandbox Code Playgroud)

但是,如果您不在某处保存线程而只是使用new boost::thread而不保存指针则不可能,因为boost不提供任何自动簿记功能.

1.备注:请记住,您需要使用它boost::thread::id来保存ID.
2.备注:std::map<boost::thread::id,boost::thread*>这些任务可能会派上用场.