C++多线程学习笔记001多线程基本操作

C++多线程学习笔记001多线程基本操作

创建线程

#include<iostream>
#include<thread>
#include<unistd.h>void count_down(size_t num){std::cout << "开始" << num << "秒倒计时!" << std::endl; for(size_t i = 0; i < num; i++ ){std::cout << num - i << "!" << std::endl; sleep(1);}std::cout << "倒计时结束!" << std::endl; 
}int main(){std::thread thread_count_down(count_down,10);thread_count_down.join();return 0;
}

1, 使用std::thread初始化线程时,第一个参数为线程运行的函数的函数名,后续为为这个线程函数传递的参数
2, join 函数的功能是阻塞地让程序等待线程的运行,如果线程函数一直运行,一直不返回,程序就在这里一直等待

分离线程

有时候我们可能不需要等待线程完成,而是希望它在后台运行。这时候我们可以使用thread_count_down.detach()方法来分离线程。
此方法慎用

检测线程是否可以被join

    bool isjoin = thread_count_down.joinable();if(isjoin)thread_count_down.join();elseprintf("线程无法被加载!");

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/234653.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

1.CentOS7网络配置

CentOS7网络配置 查看网络配置信息 ip addr 或者 ifconfig 修改网卡配置信息 vim /etc/sysconfig/network-scripts/ifcfg-ens192 设备类型&#xff1a;TYPEEthernet地址分配模式&#xff1a;BOOTPROTOstatic网卡名称&#xff1a;NAMEens192是否启动&#xff1a;ONBOOTye…

暴雨AI服务器:推动大模型算力底座发展

语言大模型作为人工智能领域的重要分支&#xff0c;其强大的自然语言处理能力和模仿人类的对话决策能力&#xff0c;正逐渐成为人们的关注焦点。近日&#xff0c;据央视新闻报道&#xff0c;工业和信息化部赛迪研究院数据显示&#xff0c;今年我国语言大模型市场规模实现较快提…

最新鸿蒙HarmonyOS 使用Progress、Toggle开发一个接单界面

Progress 进度条组件&#xff0c;用于显示内容加载或操作处理等进度。 接口 Progress(options: {value: number, total?: number, type?: ProgressType}) Toggle组件提供勾选框样式、状态按钮样式及开关样式。 接口 Toggle(options: { type: ToggleType, isOn?: boolean …

oracle vm virtualBox虚拟机网卡设置

一、桥接模式 1、桥接模式自动分配IP 通过dns自动分配Ip方式、重启服务器可能会出现IP变动的情况。 选中虚拟机--设置--网络&#xff0c;链接方式选择“桥接网卡”&#xff0c;界面名称选择“需要桥接的网卡名称” 不清楚的可以在宿主机网络设置查看&#xff08;需要桥接哪…

手动实现 Vue 2 的简易双向数据绑定(模仿源码)

实现 Vue 2 的简易双向数据绑定 Vue.js 是一个流行的前端框架&#xff0c;它以其简单易用的双向数据绑定而闻名。在下面的文章中&#xff0c;我们将探索 Vue 2 如何通过其响应式系统实现双向数据绑定&#xff0c;并尝试手动实现一个简化版本。 核心概念 Vue 2 的双向数据绑定…

【每日一题】【12.20】2828.判别首字母缩略词

&#x1f525;博客主页&#xff1a; A_SHOWY&#x1f3a5;系列专栏&#xff1a;力扣刷题总结录 数据结构 云计算 数字图像处理 力扣每日一题_ 1.题目链接 2828. 判别首字母缩略词https://leetcode.cn/problems/check-if-a-string-is-an-acronym-of-words/ 2.题目描述 今天…

MySQL——表的增删查改

目录 一.Create&#xff08;创建&#xff09; 1.单行数据 全列插入 2.多行数据 指定列插入 3.插入否则更新 4. 替换 二.Retrieve&#xff08;读取&#xff09; 1. select 列 查询 2.where 条件 3.结果排序 4.筛选分页结果 三.Update &#xff08;修改&#xff09;…

单例模式详解

单例模式 1. 概述 单例模式是一种创建型设计模式&#xff0c;旨在确保一个类只有一个实例&#xff0c;并提供一个全局访问点以获取该实例。这种模式有助于控制资源的访问、管理全局配置或共享状态&#xff0c;确保系统中某个类只存在一个实例。 2. 目的 确保一个类仅有一个…

Python实现多元线性回归模型信用卡客户价值预测项目源码+数据+项目设计报告

多元线性回归——信用卡客户价值预测 一、背景 这里以信用卡客户的客户价值为例来解释客户价值预测的具体含义&#xff1a; 客户价值预测就是指预测客户在未来一段时间内能带来多少利润&#xff0c;其利润可能来自信用卡的年费、取现手续费、分期手续费、境外交易手续费等。分…

三、万语始于HelloWorld,万物基于点灯之瑞萨RX23E-A 3线RTD PT100测温

一、概述/目的 二、RX23E-APT100三线制 2.1 资料来源 2.2 接线图 2.3 工程配置AFE24ΔΣADCPGA 2.4 代码 2.5 IIR数字滤波器 三、方案对比 三、万语始于HelloWorld&#xff0c;万物基于点灯之瑞萨RX23E-A 3线RTD PT100测温 一、概述/目的 介绍工业过程控制…

DAPLink源码固件编译与制作

DAPLink源码固件编译与制作 ✨这里以Air/stm32f103cbt6固件编译为例。&#x1f4cc;DAPLink源码地址&#xff1a;https://github.com/ARMmbed/DAPLink&#x1f516; 如果不想自己生成&#xff0c;可以使用合宙提供的现成的工程以及固件&#xff1b;https://gitee.com/openLuat/…

官方指定Jmeter配置JVM堆内存方式

1.概述 在使用Jmeter做性能测试过程中&#xff0c;可能会应为默认设置的堆内存值较小出现堆内存溢出问题&#xff0c;此时解决的方式有两种&#xff0c;分布式测试和调大堆内存。下面介绍官方推荐调整堆内存方法。 2.调整Jmeter堆内存 2.1.介绍官方推荐堆内存调整方法(jmete…

stable diffusion 极简入门 核心 概念介绍 使用

一、怎么写提示词&#xff08;prompt&#xff09; 1.1 结构 一般分三部分&#xff0c;按从前到后的顺序&#xff1a;画面质量or风格、画面主体内容、其他细节/背景。 画面质量&#xff1a;如&#xff0c;masterpiece,best quality,highly detailed画面主体内容&#xff1a;如…

Android Studio 显示Cause: connect timed out

在启动其他地方复制下来的项目时&#xff0c;可能会出现Cause: connect timed out报错&#xff0c;大概率由于项目与AndroidStudio使用的Gradle 版本不一致导致。 请检查&#xff0c;包名 / gradle / wrapper / gradle-wrapper.properties 文件 &#xff0c;文件中的distribut…

mysql原理--连接的原理

1.连接简介 1.1.连接的本质 为了故事的顺利发展&#xff0c;我们先建立两个简单的表并给它们填充一点数据&#xff1a; mysql> CREATE TABLE t1 (m1 int, n1 char(1)); mysql> CREATE TABLE t2 (m2 int, n2 char(1)); mysql> INSERT INTO t1 VALUES(1, a), (2, b), (…

攻防世界-web-ics07

1. 题目描述 工控云管理系统项目管理页面解析漏洞 打开链接&#xff0c;是这样的一个界面 我们点击项目管理 可以看到&#xff0c;这里有一个查询界面&#xff0c;还有个view-source的链接&#xff0c;我们点击下view-source&#xff0c;可以看到这里面共有三段php代码 第一段…

在Spring Cloud中使用Zuul网关实现一个案例

本篇依旧是在Spring Cloud系列的博主已经搭建的Spring Cloud微服务模块上进行的&#xff0c;注意&#xff0c;本文依旧适合初学者和或者在Spring Cloud框架了解不是很深入的基础的开发者&#xff0c;本系列说不上有多高大上&#xff0c;博主坚持通过简单的案例&#xff0c;让开…

JavaFX实现简单下雨动效

下雨动效可以使用JavaFX的动画功能来实现。下面是一个简单的示例代码,实现了一个下雨的动画效果: import javafx.animation.Animation; import javafx.animation.KeyFrame; import javafx.animation.KeyValue; import javafx.animation.Timeline; import javafx.application…

嵌入式中GPIO的工作原理-面试工作必会技能

GPIO工作方式 1、4种输入模式 输入浮空输入上拉输入下拉模拟输入 如下图为GPIO的基本结构&#xff0c;它主要由4部分组成&#xff0c;其中我们所看到的的最右边的I/O引脚&#xff0c;也就是芯片外接可看到的引脚&#xff0c;其它的部分都是GPIO内部的结构。 ①保护二极管 保护…

【新版HI3559AV100开发注意事项(二)】

#新版HI3559AV100开发注意事项&#xff08;二&#xff09; 十一、请问海思HI3559AV100 SPC030资料里面的HI3559ADMEB_VER_C_PCB.pcb是用什么软件打开啊&#xff1f; 答&#xff1a;PADS VX 2.2 Altium designer 十二、hi3559级联问题请教 在SDK的文档中只看到了两块Hi3559板…