gpt4 book ai didi

c++ - 在嵌套函数中退出线程

转载 作者:搜寻专家 更新时间:2023-10-31 01:37:49 25 4
gpt4 key购买 nike

我想在必要时检查线程中的全局 bool 值:如果它是 true,线程应该退出,如果它是 false,线程应该继续。

在检查时,我可能在单个函数内,也可能在嵌套函数内。我需要确保我先返回到主函数,然后在主函数中return 0,这看起来很愚蠢。

所以我能想到的唯一方法就是在条件满足时抛出一个异常,然后在这个线程的末尾捕获它,这样所有的元素都被正确地销毁了。

那么在 C++ 语言中是否有更标准的方法来做到这一点?在嵌套函数中如何退出线程?

最佳答案

你的方法很好。与线程创建和销毁的成本相比,抛出异常可以忽略不计。

如果由于某些原因不允许您使用异常:

  • 检查代码中多个位置的信号变量。请注意,常规代码运行得非常快,因此您只需要在长时间计算(循环)或可能阻塞的 IO 操作之前/内部进行这些检查。确保其余代码不依赖于某些未完成计算的结果。

  • 使用始终从每个函数返回错误代码的编码风格(至少对于此线程)。

关于c++ - 在嵌套函数中退出线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33662566/

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