如何获取当前线程的 std::thread?

新手上路,请多包涵

如何获得代表当前(已运行线程)的 std::thread 对象。

我知道我可以做到 std::this_thread::get_id() 。但是,这会给我一个 std::thread:id 对象。

我的主要目标是允许其他线程加入当前线程。然而,问题是当前的不是通过创建 std::thread 来启动的,所以我不能事先保存它。

原文由 Victor Ronin 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 907
1 个回答

您无法获得 std::thread 对象引用不是由 std::thread 构造函数创建的线程。要么始终使用 C++ 线程库,要么根本不使用它。例如,如果当前线程是由 pthread_create 创建的,则需要使用 pthread_join 加入。

原文由 Brian Bi 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题