在 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/