gpt4 book ai didi

c++ - 是否有可能获得主线程的线程对象,以及 `join()`?

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

有没有办法像使用 C++11(或更高版本)设施的任何其他线程一样对待主线程?具体来说,我正在寻找的是 join() 与主线程的能力。所以,基本上,我想做类似的事情:main_thread.join(),但不知道如何获取 main_thread 对象。

线程构造器似乎没有提供任何基于例如使用 get_id() 获得的线程 id 的功能。 this_thread 命名空间也只提供最少的功能,但缺少例如 join(),这正是我正在寻找的。

最佳答案

正如@molbdnilo 和@yohjb 在评论中指出的(另见 What happens to a detached thread when main() exits? ),C++11 语义表明当 main() 函数终止时所有线程都结束。由于 C++11 没有等效的 pthread_exit(),因此无法加入主线程,因为程序无论如何都会结束。

所以,要回答我的问题,这似乎是不可能的,并且对于 main() 的终止语义,它不会很有用。

关于c++ - 是否有可能获得主线程的线程对象,以及 `join()`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27782395/

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