gpt4 book ai didi

c++ - Boost::thread 如何获取指向调用我的函数的线程的指针?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:39:33 24 4
gpt4 key购买 nike

使用 boost::thread 我如何从该函数中获取指向当前正在执行我的函数的 boost::thread 的指针?

以下不适合我编译:

boost::thread *currentThread = boost::this_thread;

最佳答案

你必须小心,因为 boost::thread 是可移动类型。请考虑以下事项:

boost::thread
make_thread()
{
boost::thread thread([](boost::thread* p)
{
// here p points to the thread object we started from
}, &thread);
return thread;
}

// ...
boost::thread t = make_thread();
// if the thread is running by this point, p points to an non-existent object

boost::thread 对象概念上与线程关联,但不是规范地关联到线程,即在线程运行过程中,多个线程对象可以已经与之关联(在给定时间不超过一个)。这就是 boost::thread::id 在这里的部分原因。那你到底想达到什么目的呢?

关于c++ - Boost::thread 如何获取指向调用我的函数的线程的指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6715351/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com