当前位置: 首页 > news >正文

线程对象的生命周期、线程等待和分离

线程对象的生命周期、线程等待和分离

#include <iostream>
#include<thread>
using namespace std;bool is_exit = false;//用于判断主线程是否退出
void ThreadMain()
{cout << "begin sub thread main ID: "  << this_thread::get_id() <<  endl;//释放CPUfor (int var = 0; var < 10; ++var) {if(!is_exit) break;cout <<"in thread"<<var<<endl;this_thread::sleep_for(1s);}cout << "end sub thread main ID:"  << this_thread::get_id() <<  endl;
}int main()
{{//thread th(ThreadMain);//出错}{thread th(ThreadMain);th.detach();//子线程与主线程分离,守护线程//注意:主线程退出后,子线程不一定退出}{thread th(ThreadMain);this_thread::sleep_for(1s);cout<<"主线程阻塞,等待子线程退出"<<endl;is_exit = true;//通知子线程退出th.join();//主线程阻塞,等待子线程退出cout<<"子线程已经退出"<<endl;}return 0;
}

在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 计算机毕业设计 基于SpringBoot框架的网上蛋糕销售系统的设计与实现 Java实战项目 附源码+文档+视频讲解
  • 【小米手机无法连接电脑】一般问题和驱动MTP问题的结局ue
  • 【深度学习发展史】张量与神经网络|生成模型|序列学习模型|深度强化学习是如何一步步发展的?
  • 如何只用 CSS 制作网格?
  • Docker 里面按照ifconfig
  • 封装Progress 组件
  • 排序算法的分析和应用
  • Redis作为单线程模型,为什么效率高、速度快呢?
  • 虚幻引擎解决构建问题
  • Chainlit集成LlamaIndex实现知识库高级检索(BM25全文检索器)
  • 图像压缩编码(4)--H.26x系列视频压缩编码_2
  • M9410A VXT PXI 矢量收发信机,300/600/1200MHz带宽
  • DPDK 简易应用开发之路 3:实现ping(ARP ICMP 协议)
  • vscode缩进 和自动格式化
  • MySQL表的内外连接
  • Angular2开发踩坑系列-生产环境编译
  • ES6, React, Redux, Webpack写的一个爬 GitHub 的网页
  • PHP 7 修改了什么呢 -- 2
  • Python实现BT种子转化为磁力链接【实战】
  • 将 Measurements 和 Units 应用到物理学
  • 深入浅出webpack学习(1)--核心概念
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 首页查询功能的一次实现过程
  • 在weex里面使用chart图表
  • 正则学习笔记
  • AI算硅基生命吗,为什么?
  • 教程:使用iPhone相机和openCV来完成3D重建(第一部分) ...
  • # 深度解析 Socket 与 WebSocket:原理、区别与应用
  • ### RabbitMQ五种工作模式:
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • #前后端分离# 头条发布系统
  • $ git push -u origin master 推送到远程库出错
  • (1)SpringCloud 整合Python
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (day6) 319. 灯泡开关
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (附源码)springboot家庭财务分析系统 毕业设计641323
  • (十六)Flask之蓝图
  • (原创) cocos2dx使用Curl连接网络(客户端)
  • *ST京蓝入股力合节能 着力绿色智慧城市服务
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
  • .net core Redis 使用有序集合实现延迟队列
  • .NET Framework .NET Core与 .NET 的区别
  • .net mvc 获取url中controller和action
  • .Net mvc总结
  • .NET处理HTTP请求
  • .Net的C#语言取月份数值对应的MonthName值
  • @ModelAttribute 注解
  • @RequestMapping 和 @GetMapping等子注解的区别及其用法
  • [.net]官方水晶报表的使用以演示下载
  • [000-01-022].第06节:RabbitMQ中的交换机介绍
  • [2024最新教程]地表最强AGI:Claude 3注册账号/登录账号/访问方法,小白教程包教包会