可以从非父线程调用std :: thread :: join()吗?

时间:2018-05-23 06:44:58

标签: c++ multithreading c++11

TextIO.readAll()A::thread主题创建。我可以将main加入帖子A::thread吗?

goo

1 个答案:

答案 0 :(得分:9)

是的,你可以。 std::thread::join的行为是(强调我的):

  

阻止当前主题,直到*this标识的主题为止   完成它的执行。

它非常明确地表示"当前线程",而不是"父线程"。任何线程都可以与任何其他线程连接,只要它具有该其他线程的有效句柄。

虽然在使用对线程对象的引用时必须注意数据争用。试图加入相同的第三个线程的两个不同的线程将是......糟糕。