c++线程的创建

c++ 11 线程编程实战

目录

  • c++ 11 线程编程实战
  • 1,线程的创建
    • 1.1 传入无参函数
    • 1.2 传入有参函数
    • 1.3 传入类内部函数
    • 1.4 lambda表达式

1,线程的创建

1.1 传入无参函数

//传入函数,创建线程
void  ThreadMain()
{//获取线程IDstd::thread::id  thisthreadId = std::this_thread::get_id();cout << "begin thread main" << endl;
}
int  main()
{thread  th1(ThreadMain);th1.join();
}

1.2 传入有参函数

//传入带参数的函数,创建线程
void  ThreadMainCanshu(int a, int b)
{//获取线程IDstd::thread::id  thisthreadId = std::this_thread::get_id();cout << "begin ThreadMainCanshu" << endl;cout << "a : " << a << endl;cout << "b : " << b << endl;
}
int  main()
{thread  th2(ThreadMainCanshu, 1, 2);th2.join();
}

1.3 传入类内部函数

//传入类成员函数创建线程
class  MyThread
{
public:void Main(){//获取线程IDstd::thread::id  thisthreadId = std::this_thread::get_id();cout << "My Thread Main" << endl;thread th1(&MyThread::thcanshu, this, 10, 20);th1.detach();Sleep(10);}void  thcanshu(int a,int b){cout << "MyThread : a " << a << " b " << b << endl;}
};
void  dealth1()
{MyThread  myth;thread  th3(&MyThread::thcanshu, &myth, 10, 20);th3.join();
}void  dealth2()
{MyThread  myth;myth.Main();
}
int  main()
{dealth1();dealth2();
}

1.4 lambda表达式

std::thread  my_thread([]{cout<<"my thread"<<endl;
}
);
my_thread.join();

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

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

相关文章

人工智能数学基础(六):数理统计

数理统计是人工智能中数据处理和分析的核心工具&#xff0c;它通过收集、分析数据来推断总体特征和规律。本文将系统介绍数理统计的基本概念和方法&#xff0c;并结合 Python 实例&#xff0c;帮助读者更好地理解和应用这些知识。资源绑定附上完整资源供读者参考学习&#xff0…

解决STM32待机模式无法下载程序问题的深度探讨

在现代嵌入式系统开发中&#xff0c;STM32系列微控制器因其高性能、低功耗和丰富的外设资源而广受欢迎。然而&#xff0c;开发者在使用STM32时可能会遇到一个问题&#xff1a;当微控制器进入待机模式后&#xff0c;无法通过调试接口&#xff08;如SWD或JTAG&#xff09;下载程序…

C#扩展方法与Lambda表达式基本用法

C# 扩展方法与 Lambda 表达式详解 一、扩展方法详解 1. 基本概念 ​​扩展方法​​允许为现有类型"添加"方法&#xff0c;而无需修改原始类型或创建派生类型。 ​​定义条件​​&#xff1a; 必须在静态类中定义方法本身必须是静态的第一个参数使用this修饰符指…

C#规避内存泄漏的编码方法

C#规避内存泄漏的编码方法 内存泄漏是C#开发中常见的问题&#xff0c;尽管.NET有垃圾回收机制(GC)&#xff0c;但不当的编码实践仍可能导致内存无法被及时回收。以下是系统性的规避内存泄漏的方法&#xff1a; 一、理解内存泄漏的常见原因 ​​未释放的事件订阅​​​​静态…

React 后台管理系统

这是一个基于 React TypeScript Ant Design 开发的向明天系统前端项目。 git仓库地址 技术栈 React 19TypeScriptAnt Design 5.xRedux ToolkitReact RouterAxiosLess 环境要求 Node.js (推荐使用最新LTS版本)npm 或 yarn 安装步骤 克隆项目到本地 git clone [https://…

第九节:文件操作

理论知识 文件的基本概念&#xff1a;文件是存储数据的基本单位&#xff0c;在 Linux 系统中&#xff0c;一切皆文件。文件可以是文本文件、二进制文件、设备文件等。文件的创建&#xff1a;使用 touch 命令可以创建一个新的空文件。如果文件已经存在&#xff0c;则更新文件的…

2025-03 机器人等级考试四级理论真题 4级

1 2025年蛇年春晚&#xff0c;节目《秧BOT》机器人舞蹈表演节目点燃了全国观众的热情&#xff0c;请问参加节目表演的机器人是由哪家公司研发&#xff1f;&#xff08; &#xff09; A.大疆 B.华为 C.优必选 D.宇树科技 【参考答…

k8s平台:手动部署Grafana

以下是一个可用于生产环境的 Kubernetes 部署 Grafana 的 YAML 文件。该配置包括 Deployment、Service、ConfigMap 和 PersistentVolumeClaim&#xff0c;确保 Grafana 的高可用性和数据持久化。 Grafana 生产部署 YAML 文件 ☆实操示例 cat grafana-deployment.yaml --- # …

农产品园区展示系统——仙盟创梦IDE开发

<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>农业大数据平台</title><style>* {margi…

每日Bug:(2)共享内存

对于整个系统而言&#xff0c;主存与CPU的资源都是有限的&#xff0c;随着打开进程数量的增加&#xff0c;若是将所有进程运行所需的代码/数据/栈/共享库都存放在主存中&#xff0c;那么开启一部分进程就可以将主存占用完。 虚拟内存就是解决以上问题的方法&#xff0c;使用虚…

C语言Makefile编写与使用指南

Makefile 详细指南&#xff1a;编写与使用 Makefile 是 C/C 项目中常用的自动化构建工具&#xff0c;它定义了项目的编译规则和依赖关系。下面我将详细介绍 Makefile 的编写和使用方法。 一、Makefile 基础 1. 基本结构 一个典型的 Makefile 包含以下部分&#xff1a; mak…

Centos离线安装Docker(无坑版)

1、下载并上传docker离线安装包 官方地址&#xff1a;安装包下载 2、上传到离线安装的服务器解压 tar -zxvf docker-28.1.1.tgz#拷贝解压二进制文件到相关目录 cp docker/* /usr/bin/ 3、创建docker启动文件 cat << EOF > /usr/lib/systemd/system/docker.servic…

OceanBase数据库-学习笔记4-租户

租户 租户偏向于资源层面的逻辑概念&#xff0c;是在物理节点上划分的资源单元&#xff0c;可以指定其资源规格&#xff0c;包括 CPU、内存、日志盘空间、IOPS 等。 租户类似于传统数据库的数据库实例&#xff0c;租户通过资源池与资源关联&#xff0c;从而独占一定的资源配额…

UNIAPP项目记录

一、通过 vue-cli 创建 uni-app 项目 创建 vue3 项目 创建以 javascript 开发的工程&#xff08;如命令行创建失败&#xff0c;请直接访问 gitee 下载模板&#xff09; npx degit dcloudio/uni-preset-vue#vite my-vue3-project复制代码 npx degit dcloudio/uni-preset-vue#vit…

华为发布全球首个L3商用智驾ADS4.0

2024年10月2024世界智能网联汽车大会上&#xff0c;余承东讲到&#xff1a;“华为ADS 4.0将于2025年推出高速L3级自动驾驶商用及城区L3级自动驾驶试点&#xff0c;希望加快L3级自动驾驶标准的进程&#xff0c;推动L3级自动驾驶技术的普及。” 世界智能网联汽车大会演讲PPT 所以…

【Python学习路线】零基础到项目实战

目录 &#x1f31f; 前言技术背景与价值当前技术痛点解决方案概述目标读者说明 &#x1f9e0; 一、技术原理剖析核心概念图解核心作用讲解关键技术模块说明技术选型对比 &#x1f4bb; 二、实战演示环境配置要求核心代码实现运行结果验证 ⚡ 三、性能对比测试方法论量化数据对比…

解决redis序列号和反序列化问题

最近遇到了一个问题,将 List<Map<String, Object>> 类型数据以list形式存入到redis之后,发现取出来时数据格式完全不对,根据报错信息发现是反序列化问题,遇到类似问题,主要有两种解决方案1.使用序列号工具 例如&#xff0c;Java中常用的序列化工具有Jackson、Gso…

Android学习总结之设计场景题

设计图片请求框架的缓存模块 核心目标是通过分层缓存策略&#xff08;内存缓存 磁盘缓存&#xff09;提升图片加载效率&#xff0c;同时兼顾内存占用和存储性能。以下是针对 Android 面试官的回答思路&#xff0c;结合代码注释说明关键设计点&#xff1a; 一、缓存架构设计&…

Webug3.0通关笔记14 第十四关:存储型XSS

目录 第十四关:存储型XSS 1.打开靶场 2.源码分析 3.渗透实战 第十四关:存储型XSS 本文通过《webug3靶场第十四关 存储型XSS》来进行存储型XSS关卡的渗透实战。 存储型 XSS&#xff08;Stored Cross - Site Scripting&#xff09;&#xff0c;也被称为持久型 XSS&#xff…

Java父类、子类实例初始化顺序详解

1、完整的初始化顺序&#xff08;含继承&#xff09; 1、父类的静态初始化 父类静态变量默认值 → 父类静态变量显式赋值 父类静态代码块&#xff08;按代码顺序执行&#xff09;。 2、子类的静态初始化 子类静态变量默认值 → 子类静态变量显式赋值 子类静态代码块&…