c++ - 通过 volatile 变量终止 C++ 中的工作线程
问题描述
对于工作线程,我使用以下“简单”逻辑
void App::RenderThreadFct()
{
while(m_TerminateRenderThread == false){
...
}
}
是m_TerminateRenderThread
一个易变的变量。
让我有点困惑的是在花哨的 C++ 文档中挖掘多线程的所有新特性,比如std::future
,std::promise
天知道还有什么。
虽然所有这些都肯定有其合法性,但在我看来,要解决这样一个“简单”的问题,它们完全是矫枉过正。
但是互联网搜索完全让我感到困惑,因为他们只给了我那种在 C++ 中“正确”执行它的解决方案。
我是否遗漏了什么,有什么理由不应该在工作线程中检查一个简单的终止标志(这当然必须是易失的)?
解决方案
推荐阅读
- android - 每个用户从短信中读取 otp 的哈希键是否相同?
- php - simplexml_load_string():实体:第 2 行:解析器错误:属性值中不允许转义“<”
- javascript - 图像未显示在单元格 excel js 中
- flutter - 如何使用底部标签栏进行导航
- android-studio - Unreal Engine Vr Error :app:compileDebugJavaWithJavac FAILED, ERROR: cmd.exe failed with args /c
- android - 在 Android >24 上自定义群组通知
- python - 如何按白天和黑夜对数据数组进行分组?
- azure-devops - 跟踪 git 中的可执行位 - Azure Devops 2019 Server GUI
- microsoft-teams - MS Teams:回复 MessageID
- python - 当我从终端运行项目时,Python Flask 看不到我的“SSL 上下文”