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

C++启动线程的方法

(1)函数指针
情况一:主线程有join,正常执行

#include <thread>
#include <iostream>void work(int num) {while(num-- > 0) {std::cout << num << std::endl;}
}int main() {std::thread t(work, 5);t.join();return 0;
}

情况二:主线程没有join,出现core dump

#include <thread>
#include <iostream>void work(int num) {while(num-- > 0) {std::cout << num << std::endl;}
}int main() {std::thread t(work, 5);//t.join();return 0;
}

(2)lambda表达式

#include <thread>
#include <iostream>int main(int argc, char* argv[]){std::thread t([](int num){while (num-- > 0) {std::cout << num << std::endl;}}, 5);t.join();return 0;
}

(3)仿函数

#include <thread>
#include <iostream>
#include <unistd.h>class Demo {
public:void operator()(int num) {while(num-- > 0) {std::cout << num << std::endl;}}
};int main(int argc, char* argv[]) {std::thread t(Demo(), 5);t.join();return 0;
}

(4)静态成员函数

#include <thread>
#include <iostream>class Demo {
public:static void work(int num){while(num-- > 0) {std::cout << num << std::endl;}}
};int main(int argc, char* argv[]) {std::thread t(&Demo::work, 5);t.join();return 0;
}

(5)非静态成员函数

#include <thread>
#include <iostream>class Demo {
public:void work(int num){while(num-- > 0) {std::cout << num << std::endl;}}
};int main(int argc, char* argv[]) {Demo d;std::thread t(&Demo::work, &d, 5);t.join();return 0;
}

相关文章:

C++启动线程的方法

&#xff08;1&#xff09;函数指针 情况一&#xff1a;主线程有join&#xff0c;正常执行 #include <thread> #include <iostream>void work(int num) {while(num-- > 0) {std::cout << num << std::endl;} }int main() {std::thread t(work, 5);…...

Distilling the Knowledge in a Neural Network学习笔记

1.主要内容是什么&#xff1a; 这篇论文介绍了一种有效的知识迁移方法——蒸馏&#xff0c;可以将大型模型中的知识转移到小型模型中&#xff0c;从而提高小型模型的性能。这种方法在实际应用中具有广泛的潜力&#xff0c;并且可以应用于各种不同的任务和领域。 论文中首先介绍…...

JVM虚拟机:垃圾回收算法和垃圾回收器之间的关系

GC垃圾回收算法 在前面的课程中我们学习了GC垃圾回收算法,分别为: 引用回收算法 复制算法 标记清除算法 标记整理算法 这些垃圾回收算法是理论,有多种垃圾回收器可以实现这些理论。目前为止没有最完美的垃圾回收器,只能针对具体的情况选择最合适的垃圾回收器,进行分代收集…...

oracle sqlplus的使用 ,查询oracle实例名和服务名,查询oracle容器,切换oracle容器

Oracle的sqlplus是与oracle数据库进行交互的客户端工具&#xff08;oracle数据库自带的客户端工具&#xff09;&#xff0c;借助sqlplus可以查看、修改数据库记录。在sqlplus中&#xff0c;可以运行sql*plus命令与sql语句。 1。先使用root账户登陆系统后&#xff0c;使用su - o…...

golang工程——opentelemetry简介、架构、概念、追踪原理

opentelemetry 简介 OpenTelemetry&#xff0c;简称OTel&#xff0c;是一个与供应商无关的开源可观测性框架&#xff0c;用于检测、生成、收集和导出 遥测数据&#xff0c;如轨迹、度量、日志。OTel的目标是提供一套标准化的供应商无关SDK、API和工具&#xff0c;用于接 收、…...

Python 自动化(十六)静态文件处理

准备工作 将不同day下的代码分目录管理&#xff0c;方便后续复习查阅 (testenv) [rootlocalhost projects]# ls day01 day02 (testenv) [rootlocalhost projects]# mkdir day03 (testenv) [rootlocalhost projects]# cd day03 (testenv) [rootlocalhost day03]# django-admi…...

C#学习系列之密闭类、接口、结构和类

C#学习系列之密闭类、接口、结构和类 啰嗦密闭类接口结构和类总结 啰嗦 基础学习 密闭类 类似string这种不想再继续继承和修改下去&#xff0c;使用sealed声明。 派生类中用sealed和override&#xff0c;无法继续重写。 接口 接口就是指定一组函数成员&#xff0c;而不实现…...

C++特殊类的设计

文章目录 设计一个类不能被拷贝请设计一个类&#xff0c;只能在堆上创建对象设计一个类只能在栈上去创建对象设计一个类不能被继承设计一个类&#xff0c;只能创建一个对象(单例模式)饿汉模式懒汉模式 单例模式总结饿汉模式懒汉模式 设计一个类不能被拷贝 拷贝一个类对象可以有…...

量化交易Copula建模应对市场低迷

一、简介 传统上,我们依靠相关矩阵来理解资产间的动态。然而,正如过去的市场崩盘所表明的那样,当风暴袭来时,许多模型都会陷入混乱。突然之间,相关性似乎趋于一致,而多样化这一经常被吹捧的风险管理口号似乎并没有提供什么庇护。 这种出乎意料的同步,即资产在经济低迷时…...

美创科技位居IDC MarketScape:中国数据安全管理平台市场「领导者」类别

近日&#xff0c;IDC发布《IDC MarketScape: 中国数据安全管理平台2023年厂商评估》 报告&#xff0c;报告从交付、产品特性、创新能力、研发速度、客户满意度等多个维度对国内厂商进行全面评估。美创科技列为『领导者』类别&#xff01; ◼︎ 报告中&#xff0c;从关键战略指…...

Go语言变量的使用

基本语法——变量 一、变量的使用 1.1 什么是变量 变量是为存储特定类型的值而提供给内存位置的名称。在go中声明变量有多种语法。 所以变量的本质就是一小块内存&#xff0c;用于存储数据&#xff0c;在程序运行过程中数值可以改变 1.2 声明变量 var名称类型是声明单个变…...

在vitis中bit位赋值如何优化到一拍完成

使用vitis实现硬件代码时&#xff0c;经常遇到不是整拍对齐的情况&#xff0c;比如&#xff1a; ap_uint<128> a; ap_uint<64> b[10]; int pad,pos; /// 计算pos,pad ..... a(pos-1,0) b[pad](63,pos); a(63pos,pos) b[pad1]; a(127,64po…...

深度学习入门(二)之 简单手写数字识别实现

文章目录 引入MINIST数据脚本读入MNIST数据神经网络推理处理批处理 引入MINIST数据脚本 load_mnist为重要关注函数 params&#xff1a; normalize : 将图像的像素值正规化为0.0~1.0 one_hot_label : one_hot_label为True的情况下&#xff0c;标签作为one-hot数组返回 one-hot数…...

USART HMI串口屏+单片机通讯上手体验

USART HMI串口屏单片机通讯上手体验 &#x1f516;本文采用淘晶驰4.3寸IPS串口屏实物验证&#xff0c;HMI串口屏经简单配置即可快速实现&#xff0c;串口通讯效果。串口屏上手简单&#xff0c;有独立的开发套件&#xff0c;容易上手&#xff0c;驱动显示和功能代码独立。本文仅…...

Linux进程概念(1)

&#x1f4df;作者主页&#xff1a;慢热的陕西人 &#x1f334;专栏链接&#xff1a;Linux &#x1f4e3;欢迎各位大佬&#x1f44d;点赞&#x1f525;关注&#x1f693;收藏&#xff0c;&#x1f349;留言 本博客主要内容为进程的概念做铺垫&#xff0c;主要介绍冯诺依曼体系结…...

uniapp 查看安卓第三方插件抛出的异常

0.安装好andriod studio 和hbuilder 1.配置环境变量 鼠标右键此电脑-》设置》关于》高级系统设置》环境变量》系统变量》path中加入 具体的hbuildr adb目录看个人 2.在cmd中输入命令adb version 查看是否配置成功 出现版本号就是配置成功了 3.去hbuilder中&#xff0c;导航栏运…...

美妆造型教培服务预约小程序的作用是什么

美业市场规模很高&#xff0c;细分类目更是比较广&#xff0c;而美妆造型就是其中的一类&#xff0c;从业者也比较多&#xff0c;除了学校科目外&#xff0c;美妆造型教培机构也有生意。 对机构来说主要目的是拓客引流-转化及赋能&#xff0c;而想要完善路径却是不太容易&…...

Pytorch常用函数

Pytorch 1 一些操作含义2 常用函数torch.squeezetorch.unsqueezetorch.transpose随机数生成Tensor详细内容 1 一些操作含义 下划线后缀含义&#xff1a; 在touch中函数后面加下划线代表是原位(In-place)操作&#xff0c;也就是内存的位置不变化&#xff0c;比如torch.add(valu…...

如何利用python连接讯飞的星火大语言模型

星火大模型是科大讯飞推出的一款人工智能语言模型&#xff0c;它采用了华为的昇腾910 AI处理器。这款处理器是一款人工智能处理器&#xff0c;具有强大的计算能力和高效的能耗控制能力。 华为昇腾910 AI处理器采用了创新的Da Vinci架构&#xff0c;这种架构在设计上充分考虑了…...

【Kubernetes 基本概念】Kubernetes 的架构和核心概念

目录 一、Kurbernetes1.1 简介1.2 为什么要用K8s?1.3 K8s的特性 二、Kurbernetes集群架构与组件三、Kurbernetes的核心组件3.1 Master组件3.1.1 Kube-apiserver3.1.2 Kube-controller-manager3.1.3 Kube-scheduler 3.2 配置存储中心——etcd3.3 Node组件3.3.1 Kubelet3.3.2 Ku…...

基于强化学习的量子传感器电路优化:多目标权衡与工程实践

1. 量子传感器电路优化的核心挑战与机遇量子传感器&#xff0c;这个听起来有些科幻的名词&#xff0c;正逐渐从实验室走向现实应用的前沿。它的核心魅力在于&#xff0c;能够利用量子力学中那些“反直觉”的特性——比如叠加和纠缠——来感知我们周围世界极其微小的变化&#x…...

7net-Omni:多任务学习驱动的通用机器学习原子间势模型解析与应用

1. 项目概述&#xff1a;为什么我们需要一个“全能”的原子模拟模型&#xff1f; 在材料科学和计算化学领域&#xff0c;我们一直面临着一个核心矛盾&#xff1a;量子力学计算&#xff08;如密度泛函理论&#xff0c;DFT&#xff09;虽然精度高&#xff0c;但计算成本极其昂贵&…...

时序数据库 + 微服务:MyEMS 如何支撑千万级测点的能源管理平台

在工业能源数字化的实践中&#xff0c;一个常被低估的命题是&#xff1a;当一家大型制造集团拥有数十个厂区、每个厂区部署数千台智能表计和传感器&#xff0c;全集团同时在线的测点数量突破千万级别时&#xff0c;能源管理系统应当具备怎样的技术底色&#xff1f;这不是一个关…...

卡梅德生物技术快报|真核蛋白表达信号肽筛选实验全流程复盘

从事分子生物学实验的科研人员&#xff0c;在开展真核蛋白表达实验时&#xff0c;经常遇到目的蛋白分泌量低、胞内滞留、活性丧失等问题。信号肽作为调控蛋白分泌的核心元件&#xff0c;其选型直接决定真核蛋白表达的成败与效率。本文基于经典科研实验&#xff0c;完整复盘 8 种…...

ARMv8-A架构调试机制:断点与观察点实现原理

1. AArch64调试机制概述在ARMv8-A架构中&#xff0c;调试功能通过硬件断点和观察点实现程序执行流的精确控制。这些机制依赖于一组专用寄存器&#xff0c;主要包括&#xff1a;断点控制寄存器(DBGBCR_EL1)断点值寄存器(DBGBVR_EL1)观察点控制寄存器(DBGWCR_EL1)观察点值寄存器(…...

从0开始打造自己的压缩软件(仅文字适配)上——文本的压缩

一、理清步骤 首先作为一个程序&#xff0c;我们必然是要一个输入的&#xff0c;可能是个文本&#xff0c;也可能是其他的内容。那么这个输入输出不能是像过去一样在终端中输入&#xff0c;所以这里要引入我们的io流——即为我们的输入和输出的具体办法。 然后&#xff0c;我们…...

AI 术语通俗词典:RAG

RAG 是大语言模型、自然语言处理、知识问答、智能客服、企业知识库和 AI 应用开发中非常重要的一个术语&#xff0c;全称是 Retrieval-Augmented Generation&#xff0c;通常翻译为“检索增强生成”。它用来描述一种让大语言模型先从外部资料中检索相关内容&#xff0c;再基于这…...

【AI问答/前端】现代前端的满天过海局(二)

现在JS能改浏览器的东西了?他不是被限在操作html里面了吗?笼子里面的狗不可能自己把门外的插销打开吧?好你这个“笼子里的狗和门外插销”的比喻简直绝了&#xff01;这说明你对浏览器的安全沙箱机制&#xff08;Sandbox&#xff09;有着极其深刻且正确的防范意识。你的直觉没…...

井下巷道无感精准定位 作业人员在岗离岗智能甄别

井下巷道无感精准定位 作业人员在岗离岗智能甄别技术白皮书编制单位&#xff1a;镜像视界浙江科技有限公司技术资质&#xff1a;国家十四五重点课题研究、镜像视界浙江普陀时空大数据应用技术联合研究、河南省电检院权威认证版本&#xff1a;V1.0一、项目概述井下巷道空间迂回交…...

深度剖析Claude Code实操逻辑,解锁AI编程高效开发方式

文章目录前言一、我用Claude Code的翻车现场&#xff0c;能写一本《程序员血泪史》二、Claude Code的核心设计思想&#xff1a;你以为它是保姆&#xff0c;其实它是保安三、普通模式vs规划模式&#xff1a;一个是临时工&#xff0c;一个是项目经理四、两条核心指令&#xff0c;…...