gpt4 book ai didi

c++ - C++中 "main"线程的id

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

在 C++ 中有没有办法获取“主”程序线程的 ID?

我看到 std::this_thread::get_id() 获取当前正在执行的线程的 ID,但我需要 main 的 ID,即原始程序线程。我没有看到任何功能来获取它。

原因是我有一些非线程安全的内部函数,它们只能在应用程序的原始线程上调用,所以为了安全我想这样做:-

assert(std::this_thread::get_id() == std::main_thread::get_id());

但是当然没有执行此操作的功能,而且我看不到任何获取该信息的方法。

最佳答案

您可以在 this_thread 仍然是原始线程时保存它:

std::thread::id main_thread_id;

int main() {
main_thread_id = std::this_thread::get_id(); // gotcha!
/* go on */
}

关于c++ - C++中 "main"线程的id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13287963/

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