C++ 线程初始化编译报错

这是一个很简单的开启一个线程, 用于演示一个线程和生命周期之间的错误,但是还没有把这个错误暴露出来, 就遇见了一个编译问题. 线程中执行指定逻辑的代码
线程的执行方法, 声明写在了ThreadRun.h 实现写在 ThreadRun.cpp中.

class ThreadRun {
public:
void func();
};
void ThreadRun::func() {cout << "Thread: " << this_thread::get_id() << " start" << endl;cout << "Thread: " << this_thread::get_id() << " end" << endl;
}

main方法调用: 此处出现编译异常,红字代表报错内容

int main() {ThreadRun myClass;//此处报错://"error: no matching constructor for initialization of 'thread'"thread t1(myClass.func());   t1.join();return 0;   
}

函数构造方法传参错误, 在Main.cpp中, 将代码改为

int main() {ThreadRun myClass;// 代码改动处// thread t1(myClass.func()); thread t1(&ThreadRun::func, &mgClass);   t1.join();return 0;   
}

总结:
Thread如果绑定的执行逻辑, 是一个类里面的成员函数, 那么thread在初始化的时候, 需要绑定该方法之外, 还需要将其所操作的或者涉及的对象作为参数传入!

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

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

相关文章

SPIRE: Semantic Prompt-Driven Image Restoration 论文阅读笔记

这是一篇港科大学生在google research 实习期间发在ECCV2024的语义引导生成式修复的文章&#xff0c;港科大陈启峰也挂了名字。从首页图看效果确实很惊艳&#xff0c;尤其是第三行能用文本调控修复结果牌上的字。不过看起来更倾向于生成&#xff0c;对原图内容并不是很复原&…

Backend - Python 爬取网页数据并保存在Excel文件中

目录 一、导入依赖 二、前端爬取页面数据 1. html 中 2. js 中 三、后端获取数据&#xff0c;并存储到 Excel 文件中 1. 后端接收数据 2. 后端存储数据 &#xff08;1&#xff09;系统代码固定存储位置 &#xff08;2&#xff09;用户可选择文件对话框的存储位置 一、…

Dubbo负载均衡

负载均衡策略与配置细节 Dubbo 内置了 client-based 负载均衡机制&#xff0c;如下是当前支持的负载均衡算法&#xff0c;结合上文提到的自动服务发现机制&#xff0c;消费端会自动使用 Weighted Random LoadBalance 加权随机负载均衡策略 选址调用。 如果要调整负载均衡算法…

软件工程中的创建型设计模式:工厂方法模式与抽象工厂模式

目录 1. 工厂方法模式&#xff08;Factory Method Pattern&#xff09; 1.1 核心概念 1.2 应用场景 1.3 优点 2. 抽象工厂模式&#xff08;Abstract Factory Pattern&#xff09; 2.1 核心概念 2.2 应用场景 2.3 优点 3. 联系与区别 4. 拓展知识 5. 结语 在软件工程…

FFmpeg 4.3 音视频-多路H265监控录放C++开发十二:在屏幕上显示多路视频播放,可以有不同的分辨率,格式和帧率。

上图是在安防领域的要求&#xff0c;一般都是一个屏幕上有显示多个摄像头捕捉到的画面&#xff0c;这一节&#xff0c;我们是从文件中读取多个文件&#xff0c;显示在屏幕上。 一 改动UI文件 这里我们要添加两个label&#xff0c;为了区分我们设置一下背景色&#xff08;这个是…

java中线程与集合的面试题

在 Java 面试中&#xff0c;线程和集合相关的知识是非常常见的考察点。以下是几个典型的问题及答案&#xff1a; 线程相关面试题 什么是线程&#xff1f; 线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中&#xff0c;是进程中的实际运作单位。一个进程可以有多…

前言2、VS(Visual Studio)-2022使用

早前用VS-2010编译平台&#xff0c;进行C语言编程学习。 现如今&#xff0c;为了适应未来发展趋势以及日新月异的新功能&#xff0c;就此转到VS-2022编译平台&#xff1b; 由于都是VS编译平台&#xff0c;大多数基础功能都类似&#xff0c;关于一些基础操作可参考前言1&#…

深入了解逻辑回归:机器学习中的经典算法

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…

Tomcat(3) Tomcat是哪种类型的服务器?

Tomcat是一个开源的Java Servlet容器&#xff0c;同时也是一个轻量级的Web服务器。它主要用于实现Java Servlet和JavaServer Pages (JSP)规范&#xff0c;使得开发者能够部署和运行Java Web应用程序。 Tomcat的主要类型 1. Servlet容器 Tomcat的核心功能之一是作为Servlet容…

软件测试基础十四(python 类与对象)

类与对象的意义 面向对象编程的基础 模拟现实世界&#xff1a;在Python中&#xff0c;类和对象是面向对象编程&#xff08;OOP&#xff09;的核心概念。类就像是制造对象的蓝图或者模板&#xff0c;它定义了对象的属性&#xff08;数据成员&#xff09;和方法&#xff08;函数…

技术总结(二十二)

一、Redis缓存更新 在更新Redis缓存时&#xff0c;通常有两种策略&#xff1a; 更新缓存&#xff08;Cache-Aside Pattern&#xff09;&#xff1a;先从缓存获取数据&#xff0c;如果缓存中没有数据或数据已经过期&#xff0c;则从数据库中获取最新数据&#xff0c;并更新到缓…

[High Speed Serial ] Xilinx

Xilinx 高速串行数据接口 收发器产品涵盖了当今高速协议的方方面面。GTH 和 GTY 收发器提供要求苛刻的光互连所需的低抖动&#xff0c;并具有世界一流的自适应均衡功能&#xff0c;具有困难的背板操作所需的 PCS 功能。 Versal™ GTY &#xff08;32.75Gb/s&#xff09;&…

基于CNN-RNN的影像报告生成

项目源码获取方式见文章末尾&#xff01; 600多个深度学习项目资料&#xff0c;快来加入社群一起学习吧。 《------往期经典推荐------》 项目名称 1.【PaddleNLP的FAQ问答机器人】 2.【卫星图像道路检测DeepLabV3Plus模型】 3.【GAN模型实现二次元头像生成】 4.【CNN模型实现…

Java的main方法static

在Java中&#xff0c;main方法是程序的入口方法。它必须是一个静态方法&#xff0c;这意味着它可以在程序的其他部分被直接调用&#xff0c;而不需要实例化类。使用静态方法的一个好处是它们可以直接通过类名调用&#xff0c;而不需要创建对象。 以下是main方法的典型声明&…

java list使用基本操作

import java.util.ArrayList; import java.util.Collection; import java.util.Iterator;public class Main {public static void main(String[] args) {ArrayList list new ArrayList();list.add("张三");list.add("李四");list.add("王五");l…

Java入门15——抽象类

今天我们来看抽象类和接口~话不多说&#xff0c;开始正题~ 在前面我们学习了继承&#xff0c;我们知道了父类是子类共有的属性&#xff0c;而且子类重写了父类的方法&#xff0c;父类里的方法就不会被具体的使用了&#xff0c;为了防止你不小心调用了父类里被子类重写方法的调用…

高级 <HarmonyOS主题课>借助AR引擎帮助应用实现虚拟与现实交互的能力的课后习题

持而盈之&#xff0c;不如其已&#xff1b; 揣而锐之&#xff0c;不可长保。 金玉满堂&#xff0c;莫之能守&#xff1b; 富贵而骄&#xff0c;自遗其咎。 功成身退&#xff0c;天之道也。 VR (Virtual Reality): 虚拟现实技术 AR (Augmented Reality): 增强现实) XR.(Extend…

高校实验室安全巡检系统设计与实现(源码+定制+开发)高校实验室巡检系统、实验室安全管理平台、实验室安全监控系统、智能实验室巡查系统、高校实验室风险管理

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台…

102、Python并发编程:Queue与生产者消费者模型实现解耦、协作

引言 在实际业务场景中&#xff0c;很多时候在处理复杂任务的时候&#xff0c;会拆分上下游各个环节&#xff0c;形成一个类似于流水线的处理方式。上游类似于生产者&#xff0c;下游要依赖上游的输出进行工作&#xff0c;类似于消费者。但是&#xff0c;很多时候&#xff0c;…

Bash Shell - 获取日期、时间

1. 使用date获取日期 以下代码将date的执行结果存储在today变量中。date 是获取日期和时间的命令。 选择使用 quotes()或$ #!/bin/bashtodaydate echo $todaytoday$(date) echo $today 2. 使用 Format 输出所需日期和时间 date FORMAT 2.1 "MM-DD-YY" 形式输出…