gpt4 book ai didi

c++ - 是否可以从 C++ 中的线程返回退出代码?

转载 作者:行者123 更新时间:2023-12-03 13:22:59 48 4
gpt4 key购买 nike

我正在学习 C++,目前正在开发一个具有两个并发线程的程序。在 Visual Studio 的调试窗口中,它总是告诉我:

The thread x has exited with code 0 (0x0).


我想从我的线程返回一个退出代码,以便 Visual Studio 可以在控制台中显示退出代码,就像它对这些其他线程所做的那样。我已经测试过了,只是返回一个 int从线程函数不会改变任何关于 Visual Studio 的输出。它仍然说有问题的线程以代码 0 退出。
我也用谷歌搜索了它,但我找不到任何关于如何做的事情(至少不是 thread.h )。
如果不可能,这没什么大不了的,因为我总是可以从线程返回一个值并将其镜像到进程退出代码中,但是如果不可能,那么我看到的退出代码是什么在调试窗口中?

最佳答案

您需要使用特定于平台的线程而不是 std::thread .
在 Windows 中,您将使用 CreateThread .在 Visual Studio 中有 _beginthread_beginthreadex (仅使用后者,不推荐 _beginthead),应该使用它来代替 CreateThread ,虽然目前没有太大区别。使用这些函数时,您只需从线程函数返回退出代码。或者,调用ExitThread_endthreadex .但这可能不安全,因为它不会执行任何后续代码,包括当前范围内对象的析构函数。

关于c++ - 是否可以从 C++ 中的线程返回退出代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65170364/

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