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

C++并发与多线程(2) | 线程运行开始和结束的基本方式

当程序运行起来,生成一个进程,该进程所属的主线程开始自动运行。当主线程从main()函数返回,则整个进程执行完毕。

主线程从main()开始执行,那么我们自己创建的线程,也需要从一个函数开始运行(初始函数),一旦这个函数运行完毕,就代表着我们这个线程运行结束

  整个进程是否执行完毕的标志是——主线程是否执行完,如果主线程执行完毕了,就代表整个进程执行完毕了;此时,一般情况下,如果其他子线程还没有执行完毕,那么这些子线程也会被操作系统强行终止

  所以,一般情况下,我们得到一个结论:如果大家想保持子线程(自己用代码创建的线程)的运行状态的话,那么就要让主线程一直保持运行,不要让主线程运行完毕。(这条规律有例外,后续说明)

子线程创建的步骤:

  • 1)包含头文件thread

  • 2)要写初始函数

  • 3)在main中写启动这个子线程。

  示例:

#include <iostream>
#include <thread>
using namesp

相关文章:

C++并发与多线程(2) | 线程运行开始和结束的基本方式

当程序运行起来,生成一个进程,该进程所属的主线程开始自动运行。当主线程从main()函数返回,则整个进程执行完毕。 主线程从main()开始执行,那么我们自己创建的线程,也需要从一个函数开始运行(初始函数),一旦这个函数运行完毕,就代表着我们这个线程运行结束。 整个进…...

vue3前端开发-flex布局篇

文章目录 1.传统布局与flex布局优缺点传统布局flex布局建议 2. flex布局原理2.1 布局原理 3. flex常见属性3.1 父项常见属性3.2 子项常见属性 4.案例实战(携程网首页) 1.传统布局与flex布局优缺点 传统布局 兼容性好布局繁琐局限性&#xff0c;不能再移动端很好的布局 flex布…...

网络是什么?(网络零基础入门篇)

1.如何理解局域网和广域网&#xff1f; 2.路由器和交换机是怎么样工作的&#xff1f; 3.三层交换机能不能代替路由器&#xff1f; -- 局域网 广域网 -- 企业网架构&#xff0c;运营商架构&#xff0c;数据中心架构 -- 局域网 通过 交换机连接的 转发 相同的ip地址…...

【JavaEE】线程安全的集合类

文章目录 前言多线程环境使用 ArrayList多线程环境使用队列多线程环境使用哈希表1. HashTable2. ConcurrentHashMap 前言 前面我们学习了很多的Java集合类&#xff0c;像什么ArrayList、Queue、HashTable、HashMap等等一些常用的集合类&#xff0c;之前使用这些都是在单线程中…...

【C++算法】is_partitioned、partition_copy和partition_point

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、is_partitioned函数&#xff1a;1.1 is_partitioned是什么&#xff1f;1.2 函数原型1.3 示例代码1.4 更多示例代码 二、partition_copy函数2.1 概念2.2 函数…...

MyBatis(JavaEE进阶系列4)

目录 前言&#xff1a; 1.MyBatis是什么 2.为什么要学习MyBatis框架 3.MyBatis框架的搭建 3.1添加MyBatis框架 3.2设置MyBatis配置 4.根据MyBatis写法完成数据库的操作 5.MyBatis里面的增删改查操作 5.1插入语句 5.2修改语句 5.3delete语句 5.4查询语句 5.5like查…...

『力扣每日一题15』:买卖股票的最佳时机

一、题目 给定一个数组 prices &#xff0c;它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票&#xff0c;并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔交易中获取的…...

Java中栈实现怎么选?Stack、Deque、ArrayDeque、LinkedList(含常用Api积累)

目录 Java中的Stack类 不用Stack有以下两点原因 1、从性能上来说应该使用Deque代替Stack。 2、Stack从Vector继承是个历史遗留问题&#xff0c;JDK官方已建议优先使用Deque的实现类来代替Stack。 该用ArrayDeque还是LinkedList&#xff1f; ArrayDeque与LinkList区别&#xff1…...

雷达分辨率单元、单向/双向雷达方程、天气雷达方程简介

一、点状目标 如果两个点状目标在一个分辨率单元中,经典脉冲雷达只能看到一个目标。 点状目标 二、雷达距离分辨率 对于简单的键控开/关脉冲调制: 对于使用脉冲内调制的雷达,距离分辨率取决于压缩脉冲的脉冲持续时间。脉冲压缩比(PCR)取决于传输带宽BWtx,即距离分辨率取…...

RabbitMQ之Fanout(扇形) Exchange解读

目录 基本介绍 适用场景 springboot代码演示 演示架构 工程概述 RabbitConfig配置类&#xff1a;创建队列及交换机并进行绑定 MessageService业务类&#xff1a;发送消息及接收消息 主启动类RabbitMq01Application&#xff1a;实现ApplicationRunner接口 基本介绍 Fa…...

Redisson—分布式集合详述

7.1. 映射&#xff08;Map&#xff09; 基于Redis的Redisson的分布式映射结构的RMap Java对象实现了java.util.concurrent.ConcurrentMap接口和java.util.Map接口。与HashMap不同的是&#xff0c;RMap保持了元素的插入顺序。该对象的最大容量受Redis限制&#xff0c;最大元素数…...

开发做前端好还是后端好?这是个问题!

前言 随着互联网的快速发展&#xff0c;越来越多的人选择从事Web开发行业&#xff0c;而Web开发涉及到前端和后端两个方面&#xff0c;相信许多人都曾经对这两个方面进行过探究。而且编程世界就像一座大城市&#xff0c;前端开发和后端开发就像城市的两个不同街区。作为初学者&…...

运行huggingface Kosmos2报错 nameerror: name ‘kosmos2tokenizer‘ is not defined

尝试运行huggingface上的Kosmos,https://huggingface.co/ydshieh/kosmos-2-patch14-224失败,报错: nameerror: name kosmos2tokenizer is not defined查看报错代码: vi /root/.cache/huggingface/modules/transformers_modules/ydshieh/kosmos-2-patch14-224/48e3edebaeb…...

吃鸡玩家必备神器!一站式提升战斗力、分享干货!

大家好&#xff0c;我是吃鸡玩家。在这个视频中&#xff0c;我要分享一个让你瞬间提高战斗力的神器&#xff0c;同时让你享受到顶级游戏作战干货的盛宴&#xff01;让我们一起来了解吧&#xff01; 首先&#xff0c;我们推荐绝地求生作图工具。通过这款工具&#xff0c;你可以轻…...

【maven】idea中基于maven-webapp骨架创建的web.xml问题

IDEA中基于maven-webapp骨架创建的web工程&#xff0c;默认的web.xml是这样的。 <!DOCTYPE web-app PUBLIC"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN""http://java.sun.com/dtd/web-app_2_3.dtd" ><web-app><display-name…...

【算法题】2034. 股票价格波动

插&#xff1a; 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 坚持不懈&#xff0c;越努力越幸运&#xff0c;大家一起学习鸭~~~ 题目&#xff1a; 给你一支股票价格的数据流。数据流…...

APSIM模型】作物模型应用案例

APSIM (Agricultural Production Systems sIMulator)模型是世界知名的作物生长模拟模型之一。APSIM模型有Classic和Next Generation两个系列模型&#xff0c;能模拟几十种农作物、牧草和树木的土壤-植物-大气过程&#xff0c;被广泛应用于精细农业、水肥管理、气候变化、粮食安…...

io_uring之liburing库安装

手动编译和安装 liburing&#xff1a; 1.首先&#xff0c;从 liburing 的 GitHub 仓库中获取源代码。您可以使用以下命令克隆仓库&#xff1a; git clone https://github.com/axboe/liburing.git2.进入 liburing 目录&#xff1a; cd liburing3.运行configure ./configure …...

Python WebSocket自动化测试:构建高效接口测试框架!

为了更高效地进行WebSocket接口的自动化测试&#xff0c;我们可以搭建一个专门的测试框架。本文将介绍如何使用Python构建一个高效的WebSocket接口测试框架&#xff0c;并重点关注以下四个方面的内容&#xff1a;运行测试文件封装、报告和日志的封装、数据驱动测试以及测试用例…...

MySQL数据库——SQL优化(1)-介绍、插入数据、主键优化

目录 介绍 插入数据 Insert 大批量插入数据 主键优化 数据组织方式 页分裂 页合并 索引设计原则 介绍 SQL优化将分为下面几个部分进行学习&#xff1a; 插入数据主键优化order by优化group by优化limit优化count优化update优化 首先就先来看第一方面&#xff0c; 插…...

C++ 浮点数

在 C 中有以下 3 种数据类型可以表示浮点数&#xff0c;分别是 float、double 和 long double。 float 数据类型被认为是单精度。double 数据类型通常是 float 的两倍大小&#xff0c;因此被认为是双精度。顾名思义&#xff0c;long double 数据类型又比 double 要大。这些数据…...

避坑指南:Xilinx PCIe IP的lane反序问题与GT时钟约束的隐藏陷阱

Xilinx PCIe IP实战&#xff1a;破解Lane反序与GT时钟约束的五大核心难题 当你在Vivado中首次生成PCIe IP核时&#xff0c;可能会惊讶地发现硬件实际的lane顺序与代码中的定义完全相反。这不是bug&#xff0c;而是Xilinx默认的设计特性。更棘手的是&#xff0c;GT参考时钟的自动…...

5个高效方案解决League-Toolkit启动故障

5个高效方案解决League-Toolkit启动故障 【免费下载链接】League-Toolkit 兴趣使然的、简单易用的英雄联盟工具集。支持战绩查询、自动秒选等功能。基于 LCU API。 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 问题现象&#xff1a;跨平台启动异常图谱…...

3步实现文件安全验证:HashCheck实战指南

3步实现文件安全验证&#xff1a;HashCheck实战指南 【免费下载链接】HashCheck HashCheck Shell Extension for Windows with added SHA2, SHA3, and multithreading; originally from code.kliu.org 项目地址: https://gitcode.com/gh_mirrors/ha/HashCheck 在数字化办…...

Android开发者必看:火山引擎API验签实战,5步搞定接口适配

Android开发者实战指南&#xff1a;火山引擎API验签与接口适配全解析 在移动应用开发领域&#xff0c;直接调用第三方API服务已成为提升开发效率的常见做法。火山引擎作为国内领先的云服务平台&#xff0c;其丰富的API接口为Android应用开发提供了强大支持。然而&#xff0c;由…...

AI头像生成器镜像免配置:支持ARM架构(Mac M2/M3)的Qwen3-32B适配版

AI头像生成器镜像免配置&#xff1a;支持ARM架构&#xff08;Mac M2/M3&#xff09;的Qwen3-32B适配版 想给自己换个酷炫的头像&#xff0c;但苦于没有设计灵感&#xff1f;或者有了想法&#xff0c;却不知道怎么把它变成AI绘图工具能听懂的“语言”&#xff1f;别急&#xff…...

一、硬件接线与配置

自动配料控制系统 S7-200SMART 与组态王6.55联机程序 COM3串口通讯 带运行效果视频 IO表 和 PLC接线图CAD 老规矩先看IO表——配料系统核心是4路称重传感器2台变频器控制下料速度。PLC的EM AE04模块接0-10V称重信号&#xff0c;EM DR32数字量模块控制接触器和报警灯。CAD接线图…...

如何快速实现本地离线语音识别:面向Windows用户的完整解决方案

如何快速实现本地离线语音识别&#xff1a;面向Windows用户的完整解决方案 【免费下载链接】TMSpeech 腾讯会议摸鱼工具 项目地址: https://gitcode.com/gh_mirrors/tm/TMSpeech 还在为会议记录、视频字幕、语音笔记而烦恼吗&#xff1f;传统的语音识别工具要么需要网络…...

MacBook上的Safari安装油猴插件

MacBook Safari 浏览器安装油猴插件&#xff08;Tampermonkey&#xff09;完整教程 目录 一、什么是油猴插件二、准备工作三、安装 Tampermonkey 插件四、启用插件五、安装油猴脚本六、脚本管理七、进阶设置八、常见问题解决九、热门脚本推荐十、安全注意事项 一、什么是油猴…...

如何用猫抓Cat-Catch浏览器扩展轻松下载网页视频:5个超实用技巧

如何用猫抓Cat-Catch浏览器扩展轻松下载网页视频&#xff1a;5个超实用技巧 【免费下载链接】cat-catch 猫抓 chrome资源嗅探扩展 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 还在为无法下载在线视频而烦恼吗&#xff1f;&#x1f914; 你是否曾经在观…...