我正在使用boost线程,我需要从它的线程函数引用一个线程,所以我可以将它存储在具有相应线程ID的映射中。主要想法是我将使用另一个线程通过查询proc表来收集线程统计信息,所以我不能使用boost::this_thread::get_id()
。我需要存储线程,以便可以调用特定线程上的中断和连接。C++从它的线程函数引用boost :: thread
下面的插入语句不起作用,但我会期望这个或& this来引用线程。
线程函数:
workerFunc(){
std::string tid;
tid=boost::lexical_cast<string>(syscall(SYS_gettid));
threadMap.insert(pair<std::string,boost::thread>(tid,this));
}
目前,我有父使插入,但等待线程来获得它的线程ID,但是这不是什么想要的。
如何在不使用父级的情况下将线程/指针存储到线程?
当你说下列声明不起作用时,你是什么意思?它不编译?或者它没有像预期那样储存这对货币? – Brady