【发布时间】:2015-01-05 15:15:24
【问题描述】:
有没有办法像使用 C++11(或更高版本)设施的任何其他线程一样处理主线程?
具体来说,我正在寻找的是join() 与主线程的能力。所以,基本上,我想做类似:main_thread.join(),但不知道如何获取main_thread 对象。
线程构造函数似乎没有提供任何基于使用get_id() 获得的线程ID 的功能。 this_thread 命名空间也只提供了最少的功能,但缺少例如 join(),这正是我正在寻找的。p>
【问题讨论】:
-
通常你从主线程开始一个线程,然后加入()你开始的线程..而不是相反。
-
std::thread::join 方法适用于 c++11。有什么问题?
-
呃...如果你想加入主线程,那么结束当前线程到底有什么区别?这不像你会继续下去;当主线程结束时,程序就结束了。
-
我需要能够做到
main_thread.join()。就我而言,主线程就像任何其他线程一样,一点也不特别。每个线程都在运行任意用户代码,需要能够调用join()。 -
当
main退出时,所有其他线程都被销毁。根据定义,主线程不“就像任何其他线程一样”。
标签: c++ multithreading c++11