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

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

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

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

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

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

子线程创建的步骤:

  • 1)包含头文件thread

  • 2)要写初始函数

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

  示例:

#include <iostream>
#include <thread>
using namesp
http://www.lryc.cn/news/184874.html

相关文章:

  • vue3前端开发-flex布局篇
  • 网络是什么?(网络零基础入门篇)
  • 【JavaEE】线程安全的集合类
  • 【C++算法】is_partitioned、partition_copy和partition_point
  • MyBatis(JavaEE进阶系列4)
  • 『力扣每日一题15』:买卖股票的最佳时机
  • Java中栈实现怎么选?Stack、Deque、ArrayDeque、LinkedList(含常用Api积累)
  • 雷达分辨率单元、单向/双向雷达方程、天气雷达方程简介
  • RabbitMQ之Fanout(扇形) Exchange解读
  • Redisson—分布式集合详述
  • 开发做前端好还是后端好?这是个问题!
  • 运行huggingface Kosmos2报错 nameerror: name ‘kosmos2tokenizer‘ is not defined
  • 吃鸡玩家必备神器!一站式提升战斗力、分享干货!
  • 【maven】idea中基于maven-webapp骨架创建的web.xml问题
  • 【算法题】2034. 股票价格波动
  • APSIM模型】作物模型应用案例
  • io_uring之liburing库安装
  • Python WebSocket自动化测试:构建高效接口测试框架!
  • MySQL数据库——SQL优化(1)-介绍、插入数据、主键优化
  • Flink---10、处理函数(基本处理函数、按键分区处理函数、窗口处理函数、应用案例TopN、侧输出流)
  • 多种方案教你彻底解决mac npm install -g后仍然不行怎么办sudo: xxx: command not found
  • 斐波那契数列 JS
  • IP 地址的分类
  • CDN网络基础入门:CDN原理及架构
  • 李沐深度学习记录2:10多层感知机
  • Python标准库中内置装饰器@staticmethod@classmethod
  • MySQL8 间隙锁在11种情况下的锁持有情况分析
  • C# 图片按比例进行压缩
  • 猜猜 JavaScript 输出:(! + [] + [] + ![]).length
  • MTK Android12静默安装接口