C++11如何结束线程

2023-10-31

  1. 如何结束线程
  2. 无需join、detach已经启动了线程
#include <thread>
#include <iostream>
#include <assert.h>
#include <chrono>
#include <future>

using namespace std;

void threadFunction(std::future<void> futureObj)
{
	std::cout << "Thread Statt" << std::endl;
	while (futureObj.wait_for(std::chrono::microseconds(1)) == std::future_status::timeout)
	{
		std::cout << "Doing Some Work" << std::endl;
		std::this_thread::sleep_for(chrono::milliseconds(1000));
	}
	cout << "Thread End" << endl;
}

int main()
{
	std::promise<void> exitSignal;
	std::future<void> futureObj = exitSignal.get_future();
	std::thread th(&threadFunction, std::move(futureObj));
	std::this_thread::sleep_for(std::chrono::seconds(20));
	cout << "Asking thread to Stop" << endl;
	exitSignal.set_value();  //结束线程
	//th.join();
	while (1)
	{
		std::this_thread::sleep_for(std::chrono::seconds(20));
	}
	cout << "Exiting Main Function" << std::endl;
	return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++11如何结束线程 的相关文章

  • 无法使用 rtools40 和 R 4.0 构建 RDCOMClient

    不久前 我创建了 RDCOMClient 包的一个分支 以使其与 R 3 6 一起工作 https github com dkyleward RDCOMClient https github com dkyleward RDCOMClien
  • 如何引用 .net 可执行文件中的类?

    IL 反汇编程序显示了我想在项目中使用的 Net 可执行文件中的类 我如何使用我自己项目中的这些类 从 Visual Studio 上的项目添加对该可执行文件的引用 您应该有权访问它定义的公共类 可执行文件是一个像任何其他程序集一样的程序集
  • 不同翻译单元中字符串文字的内存地址是否相同?

    假设我们有以下 cpp 文件 include
  • 合并多边形的高效算法

    我有一个多边形列表 在这个列表中 一些多边形重叠 或者接触其他多边形 我的任务是合并所有相互重叠或接触的多边形 我有一个union执行此操作的方法 做到这一点最有效的方法是什么 我目前能想到的是循环遍历多边形列表 检查合并列表以查看该多边形
  • 不要覆盖 Azure Blob 存储

    我有一种将文件添加到 Azure Blob 存储的方法 问题是我试图指定一个条件 在该条件下它不会覆盖 blob 而只是添加到其中 我正在尝试使用参数访问条件 但是 VS 说这个方法不能采用两个参数 async void archiveNe
  • C++ 中的反向迭代器和负跨步迭代器,在开始之前使用一个作为哨兵

    In 查看 C 反向迭代器的另一种方式 https devblogs microsoft com oldnewthing 20211112 00 p 105908雷蒙德 陈写道 C 语言的一个怪癖 你可以拥有一个指针 集合的 已过终点 但不
  • 从 C# 访问 COM vtable

    C 中有没有办法访问 COM 对象的虚拟方法表以获取函数的地址 经过大量搜索和拼凑不同的部分解决方案后 我弄清楚了如何做到这一点 首先 您需要为您尝试访问的对象定义 COM 组件类 ComImport Guid InterfaceType
  • Image.FromStream() 方法返回 Invalid Argument 异常

    我正在从智能相机成像器捕获图像 并通过套接字编程从相机接收字节数组 NET 应用程序是客户端 相机是服务器 问题是我在运行时收到 System InvalidArgument 异常 private Image byteArrayToImag
  • 使用 Rhino Mocks 模拟集合

    所以我猜这是很多人想做的事情 模拟集合 过去我用 Rhino 做过这样的事情 var col mock MockRepository GenerateMock
  • 如何转换 UTF-8 <-> UTF16 可移植

    有没有一种简单 可移植的方法 至少是 win32 linux 将 UTF 16 转换为 UTF 8 并返回 最好使用升压 谢谢你的帮助 托比亚斯 Both libiconv http www gnu org software libicon
  • 隐式转换和编译器的不同行为

    Motivated by this question https stackoverflow com q 51972738 5800831 I created the following code struct X X int struct
  • 安全移动 C++ 对象

    我听到过一些警告 不要通过以下方式将对象运送到另一个内存位置memcpy 但不知道具体原因 除非它包含的成员做了依赖于内存位置的棘手事情 否则这应该是完全安全的 或者不是 编辑 预期的用例是像这样的数据结构vector 它存储对象 不是po
  • 有没有一种方法可以在 TreeView.Nodes 集合中搜索 TreeNode.Text 字段?

    像这样 TreeNode treeNodes treeView Nodes Find searchString true 但我希望它在text字段而不是name field 我不知道有任何内置方法 但你可以使用 LINQ TreeNode
  • Magento SOAP V2 API - 附加属性设置为空

    几个小时以来 我一直在尝试通过 SOAP V2 API 创建具有附加属性的产品 每当我打电话时就会添加该产品目录产品创建但我随请求发送的附加属性被设置为空 每当我不添加附加属性时 这两个属性都会设置为其默认值 因此我认为这些属性正在发送和接
  • 将 jstring 转换为 QString

    我正在调用一个返回字符串的 Java 函数 QAndroidJniObject obj QAndroidJniObject callStaticObjectMethod
  • 更改为通用接口对性能的影响

    我使用 Visual Studio 使用 C NET 开发应用程序 ReSharper 在我的方法原型中经常建议我用更通用的类型替换输入参数的类型 例如 如果我仅在方法主体中使用带有 foreach 的列表 则使用 List 和 IEnum
  • ld: 无法对非 PE 输出文件执行 PE 操作错误

    我是操作系统编程的新手 我正在读一本书 其中给出了一个简单的内核示例 如下所示 main char video memory 0xb8000 video memory X 为了编译这个名为 kernel c 的文件 我在 Windows 7
  • 如何使用 XmlSerializer 生成标记前缀

    我想使用 XmlSerializer 生成以下内容
  • GCC编译非常慢(文件大)

    我正在尝试编译一个大的 C 文件 专门用于 MATLAB mexing C 文件大约 20 MB 可用来自 GCC 错误跟踪器 https gcc gnu org bugzilla attachment cgi id 36632如果你想玩一
  • 即使没有任何转换,也违反了 C 中的严格别名?

    How can i and u i在此代码中打印不同的数字 即使i定义为int i u i 我只能假设我在这里触发了 UB 但我不知道具体是如何触发的 ideone演示 http ideone com Gcv5Xm如果我选择 C 作为语言

随机推荐

  • spring cloud系列学习(六、SpringCloud之 gateway网关)

    Spring Cloud Gateway 是基于 Spring Framework 5 0 和 Spring Boot 2 0 构建的 API 网关 提供路由等功能 其旨在提供一种简单而有效的方法路由到 API 并为它们提供跨领域的关注点
  • Onenote,Ulysses和Effie哪个更适合采编?

    众所周知 采编的工作和文字有着密不可分的联系 作为采编 不仅需要审核和修改别人的文字 还需要自己创作 可见写作在采编工作内容中占据着怎样重要的地位 那么对于采编工作者来说 是否有一款适合他们的写作软件呢 本文针对采编工作者的写作需求进行分析
  • 41 管理虚拟机可维护性-虚拟机NMI Watchdog

    文章目录 41 管理虚拟机可维护性 虚拟机NMI Watchdog 41 1 概述 41 2 注意事项 41 3 操作步骤 41 管理虚拟机可维护性 虚拟机NMI Watchdog 41 1 概述 NMI Watchdog是一种用来检测Li
  • midjourney/stable diffusion/太乙/文心一格/智源对比

    挑战周杰伦 稻香 MV画面生成 中英文绘画模型PK Midjourney DALL E2 Stable Diffusion 百度ERNIE ViLG 2 0 哔哩哔哩 bilibili本期视频小土同学使用周杰伦 稻香 评测了最近大热的 6
  • 人工智能开源项目

    基于TensorFlow的框架 https github com fchollet keras https github com tflearn tflearn https github com beniz deepdetect https
  • go 实现高效的 byte 连接

    在go语言中 bytes Buffer提供了高效的多个bytes连接 举个栗子 1 多个 byte 连接 b1 byte this is a first string b2 byte this is a second string var
  • stm32视频教程分享:心率检测仪的设计与实现

    stm32视频教程分享 心率检测仪的设计与实现 STM32系列是基于专为要求高性能 低成本 低功耗的嵌入式应用专门设计的ARM Cortex M3内核 本项目主要讲述了通过心律传感器采集我们的心律数据 然后通过串口传送到上位机中 上位机用Q
  • 前端笔试面试题目整理(持续更新)

    一 JS 1 前端开发面试题 应届生 js基础算法题 2 VK的秋招前端奇遇记 一 3 VK的秋招前端奇遇记 二 4 送你 43 道 JS 面试题 送你58道JavaScript面试题 28 道 JavaScript 面试题 看看能错几道
  • javascript用面向过程写贪吃蛇游戏

    下面是HTML与CSS的代码 CSS
  • 判断二叉树是否为完全二叉树

    判断二叉树是否为完全二叉树 提示 本节仍然是重点说二叉树的DP递归套路 非常重要而且容易理解 二叉树的动态规划树形DP递归套路系列文章有这些 可以帮助你快速掌握树形DP的题目解题思想 就一个套路 1 判断二叉树是否为平衡二叉树 树形DP 树
  • Golang math基本数学函数

    三角函数 正弦函数 反正弦函数 双曲正弦 反双曲正弦 func Sin x float64 float64 func Asin x float64 float64 func Sinh x float64 float64 func Asinh
  • JAVA中MD5加密解密(MD5工具类)

    ASCII American Standard Code for Information Interchange 美国信息交换标准代码 http ascii 911cha com 工具类如下 import org apache common
  • 一天高中的女同桌突然问我是不是程序员,满脸黑人问号?

    背景 昨天一个我高中的女同桌突然发微信问我 你是不是程序猿 我有问题求助 先是激动后是茫然再是冷静 毕业多年不见联系 突然发个信息求助 感觉大脑有点反应不过来 再说我一个搞Python的 这点要求大家懂的 人生苦短 我用Python 为了大
  • Matlab实现神经网络RBF和PNN算法(附上完整源码)

    神经网络是一种模拟人类大脑的计算模型 能够通过学习和适应来解决各种问题 其中RBF和PNN是常用的神经网络算法 本文将介绍如何使用Matlab实现这两种算法 一 RBF算法 RBF Radial Basis Function 算法是一种基于
  • 考研数二第十一讲 罗尔中值和拉格朗日定理与柯西中值定理

    对柯西中值定理 拉格朗日中值定理的理解及应用 关于罗尔中值定理一定要理解含义 学会分析罗尔中值定理的充分条件 构造对应符合条件的函数 这样就可以利用罗尔中值定理求得函数在定义区域里可得至少一点x 使得f x 0 拉格朗日定义和柯西中值都是可
  • 保存网页图片的八种方法

    为了增加互动性和美观 现在的网页中都有许多精美的图片 这些都是网页制作者精心制作出来的 如果你想拿来为自己所用就必须把它们保存下来 另外 在一些电子书中也有精美的图片 为了防止有人复制 作者禁用了鼠标右键无法直接下载 针对以上情况 我们可以
  • Python 操作 Word

    上次给大家介绍了 Python 如何操作 Excel 是不是感觉还挺有趣的 今天为大家再介绍下 用 Python 如何操作 Word 这个可能跟数据处理关系不大 用的也不多 不过可以先了解下都能实现什么功能 以备不时之需 安装 python
  • QTimer的一点点误区

    对于Qt的信号槽 正常情况都能够发射和接收 但是对于QTimer 它有一个需要注意的地方就是 在子线程中 就是那个run函数里面 它是运行在子线程中的 创建QTimer 发现不起作用 这是因为QTimer是基于 事件循环的 qtimer又是
  • 【Unity编程】Unity动画系统(一)

    Unity动画系统 Unity动画系统 也称为 Mecanim 提供了以下功能 简单的工作流程 设置动画的所有元素 包括对象 角色和属性 支持导入外部创建的动画片段和使用内置动画编辑器制作的动画片段 人型动画重新定位 动画角色的运动控制可以
  • C++11如何结束线程

    如何结束线程 无需join detach已经启动了线程 include