我正在使用 boost 线程,我需要从其线程函数中引用一个线程,以便我可以将其存储在具有相应线程 ID 的映射中。主要思想是我将使用另一个线程通过查询 proc 表来收集线程统计信息,所以我不能使用boost::this_thread::get_id()
. 我需要存储线程,以便可以在特定线程上调用中断和连接。
以下插入语句不起作用,但我希望 this 或 &this 引用该线程。
线程功能:
workerFunc(){
std::string tid;
tid=boost::lexical_cast<string>(syscall(SYS_gettid));
threadMap.insert(pair<std::string,boost::thread>(tid,this));
}
目前,我让父级插入但等待线程获取其线程 ID,但这不是我们想要的。
如何在不使用父级的情况下存储线程/指向线程的指针?