加入特定的提升线程

时间:2012-12-19 11:58:31

标签: c++ boost boost-thread

我在一个进程中创建了大约300个boost程序。 有没有办法根据线程ID加入特定的线程?

1 个答案:

答案 0 :(得分:9)

天堂取决于你如何拯救boost::thread。如果将它们保存在容器中(T = boost::thread*),则可以使用

之类的东西
for(iterator it = ctn.begin(); it != ctn.end(); ++it){
    if(it->get_id() == join_thread_id){
        it->join();
        break;
    }        
}

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

1。备注:请注意,您需要使用boost::thread::id来保存ID 2.备注:std::map<boost::thread::id,boost::thread*>可能会为此类任务派上用场。