如何获得代表当前(已运行线程)的 std::thread
对象。
我知道我可以做到 std::this_thread::get_id()
。但是,这会给我一个 std::thread:id
对象。
我的主要目标是允许其他线程加入当前线程。然而,问题是当前的不是通过创建 std::thread 来启动的,所以我不能事先保存它。
原文由 Victor Ronin 发布,翻译遵循 CC BY-SA 4.0 许可协议
如何获得代表当前(已运行线程)的 std::thread
对象。
我知道我可以做到 std::this_thread::get_id()
。但是,这会给我一个 std::thread:id
对象。
我的主要目标是允许其他线程加入当前线程。然而,问题是当前的不是通过创建 std::thread 来启动的,所以我不能事先保存它。
原文由 Victor Ronin 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.4k 阅读
1 回答1.6k 阅读✓ 已解决
您无法获得
std::thread
对象引用不是由std::thread
构造函数创建的线程。要么始终使用 C++ 线程库,要么根本不使用它。例如,如果当前线程是由pthread_create
创建的,则需要使用pthread_join
加入。