C++之thread的简单使用示例

news2025/1/13 17:45:22

1、全局函数传入thread

#include <iostream>
#include <thread>
#include <string>

void threadWork(std::string content, int counts)
{
    for (int i = 0; i < counts; ++i) {
        std::cout << content << i << std::endl;
    }
}

int main() {
    std::thread worker(threadWork, std::string("work on thread, index: "), 10);
    worker.join();
    return 0;
}

在这里插入图片描述

2、类成员函数传入thread

#include <iostream>
#include <thread>
#include <string>

class MyClass {
public:
    void doSomething(std::string content, int counts) {
        for (int i = 0; i < counts; ++i) {
            std::cout << content << i << std::endl;
        }
    }
};

int main() {
    MyClass* obj = new MyClass;
    std::thread worker(&MyClass::doSomething, obj, std::string("doSomething on thread, index: "), 10);
    worker.join();
    return 0;
}

在这里插入图片描述

3、lambda表达式(匿名函数)传入thread

#include <iostream>
#include <thread>
#include <string>

int main() {
    std::thread worker(
        [](std::string content, int counts)
        {
            for (int i = 0; i < counts; ++i) {
                std::cout << content << i << std::endl;
            }
        }, std::string("lambda on thread, index: "), 10);
    worker.join();
    return 0;
}

在这里插入图片描述

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

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

相关文章

node-sass报错

我们安装vue项目时&#xff0c;经常遇到nade-sass报错。然后切换到某个node版本后不再报错&#xff0c;原因见下文 一&#xff1a;报错内容 二&#xff1a;保存原因 本地nodejs版本跟安装的node-sass版本不一致 三&#xff1a;解决办法 1、查看本地node版本 node -v 2、查…

ECCV2020-FRELU

论文链接&#xff1a;https://arxiv.org/pdf/2007.11824.pdf 官方代码&#xff1a;GitHub - megvii-model/FunnelAct paddle复现版本&#xff1a;FReLU&#xff1a;简单高效的新型激活函数 - 飞桨AI Studio torch复现版本&#xff1a;GitHub - nekitmm/FunnelAct_Pytorch: py…

Word中论文参考文献完美对齐方法

1、首先&#xff0c;我们从知网、谷歌学术或其他网站找到我们需要引用的参考文献&#xff0c;如果你设置了自动编号&#xff0c;请先删除前面的自动编号。 2、我们手动在前面加上[1]、[2]等编号&#xff0c;注意都是英文符号&#xff0c;且没有空格。 3、我们光标放到编号后面…

【教学类-36-03】midjounery-niji表情包图片的矩阵式切割(3*3)及GIF制作过程

作品展示 背景需求&#xff1a; 学习midjounery-niji表情包制作&#xff0c;先用关键词生成了一张3*3的熊猫多种表情图矩阵式样 选第3张&#xff0c;放大&#xff0c;另存为“熊猫9张图” 需要&#xff1a; 把这张PNG图片切成9张同样大的小图&#xff0c;便于生成GIF动图。 图…

QT ObjectThread moveToThread多线程操作

QT多线程专栏共有15篇文章&#xff0c;从初识线程到、QMutex锁、QSemaphore信号量、Emit、Sgnals、Slot主线程子线程互相传值同步变量、QWaitCondition、事件循环、QObjects、线程安全、线程同步、线程异步、QThreadPool线程池、ObjectThread多线程操作、 moveToThread等线程操…

我的项目--初始设计

PYQT 界面1. 表&#xff1a;USER ADD键&#xff1a;USER表添加一条记录 界面2&#xff1a;

【数据结构与算法】5、循环链表、约瑟夫问题、静态链表

循环链表目录 一、单向循环链表(1) add()(2) remove()(3) 单向循环链表特点 二、双向循环链表三、约瑟夫问题&#xff08;Josephus Problem&#xff09;四、静态链表 一、单向循环链表 &#x1f33f; 单向循环链表在单链表的基础上&#xff0c;尾节点的 next 指向头节点 (1) a…

欺诈无所遁形:反欺诈(羊毛盾)API 应用解析

随着互联网的快速发展&#xff0c;欺诈行为不断演变和扩大&#xff0c;涉及的领域也越来越广泛。虚假账户注册、刷单、恶意评论、虚假广告等欺诈手段成为一些不法分子获取利益的途径。这些行为不仅损害了用户的利益&#xff0c;也对在线平台的声誉和可信度造成了威胁。为了解决…

为什么推荐用易模来制作真人手办所需的人像模型?

要问最近什么手办最流行&#xff0c;真人手办必须拥有姓名。大家看腻了传统的动漫以及游戏的周边手办以后&#xff0c;想要玩出点新花样&#xff0c;于是纷纷把眼光放到真人的身上&#xff0c;真人手办开始应运而生。 现阶段制作真人手办通常都是线下来进行&#xff0c;需要消费…

Docker安装pritunl

Background Pritunl是一款图形化的OpenVPN软件&#xff0c;提供一个友好的图形WebUI界面&#xff0c;对传统OpenVPN服务端与客户端复杂的安装配置流程进行了极大的简化&#xff0c;并且通过图形界面可以进行人员管理、参数配置&#xff0c;给予用户非常大的便捷性&#xff0c;适…

【运维】Windows 通过注册表禁用服务

【运维】Windows 通过注册表禁用服务 以这个服务为例子 Windows Push Notifications User Service 双击查看服务名称 WpnUserService_671f3 打开注册表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\{服务名称} HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Ser…

网络基础一:网络协议初识与网络传输基本流程

目录 网络协议认识“协议”网络协议初识协议分层OSI七层模型&#xff08;理论模型&#xff09;TCP/IP五层(或四层)模型&#xff08;工程实现模型&#xff09; 网络中的地址管理MAC地址IP地址 网络传输基本流程路由的本质 数据包封装和分用网络协议需要解决的问题 网络协议 计算…

#10041. 「一本通 2.1 练习 7」门票

题目 题目描述 RPK 要带 MSH 去一个更加神秘的地方&#xff01; RPK 带着 MSH 穿过广场&#xff0c;在第 1618 块砖上按下了一个按钮&#xff0c;在一面墙上随即出现了一个把手。RPK 握住把手&#xff0c;打开了一扇石质大门。他们穿过悠长而芬芳的小道&#xff0c;走到了一扇…

基于Vue3+Vite+TS+ESLint+Prettier+Husky+lint-staged+commitlint+stylelint的项目构建

博客后台管理系统使用后的是基于Vue3ViteTSESLintPrettier的开发&#xff0c;具体项目构建如下 1、基于Vite创建vue-ts模板的项目骨架 pnpm create vite 项目名称 --template vue-ts2、安装ESLint、Prettier相关的 ESLint: 控制代码质量 Prettier: 控制代码风格 2.1、安装ESLi…

ASEMI代理NXP高压三端双向可控硅BT139-800E综合指南

编辑-Z BT139-800E是一种高压三端双向可控硅开关&#xff0c;近年来由于其卓越的性能和多功能性而广受欢迎。这种强大的半导体器件广泛应用于各种应用&#xff0c;包括电机控制、照明控制和温度调节。 BT139-800E的特点 1.高压能力&#xff1a;BT139-800E设计用于处理高压&am…

Vue Router query 命名路由 params props

6.5.路由的 query 参数 传递参数<!-- 跳转并携带query参数&#xff0c;to的字符串写法 --> <router-link :to"/home/message/detail?id${m.id}&title${m.title}">跳转</router-link><!-- 跳转并携带query参数&#xff0c;to的对象写法&am…

1753_使用Perl修改文件时间戳

全部学习汇总&#xff1a; GreyZhang/perl_basic: some perl basic learning notes. (github.com) 对于使用软件对文件进行造假的手段我一直感兴趣&#xff0c;我很想知道那些人是通过什么手段修改的文件属性。一直以来&#xff0c;我觉得修改文件的时间戳是一个很难的工作&…

Altium Designer23 设计备忘

1、新建工程 2、新建原理图 3、新建PCB 4、添加元器件SCHLIB&#xff0c;PCBLIB库 5、绘制原理图 6、给元器件添加封装 7、原理图更新至PCB 8、绘制PCB

[State of GPT] OpenAI讲座随笔记

原版&#xff1a;State of GPT B站翻译版&#xff1a;【精校版】Andrej Karpathy微软Build大会精彩演讲&#xff1a; GPT状态和原理 - 解密OpenAI模型训练 1 GPT Training Pipeline图解 记录一下对这个图的理解&#xff1a; 大模型训练的四个阶段&#xff1a; Pretraining 阶…

开发者活动:云原生的开源 AI 大模型基础设施

随着 ChatGPT 的火热&#xff0c;大语言模型和相关应用不断涌现。你是否了解大语言模型的技术细节&#xff1f;你是否曾经开发过大语言模型应用&#xff1f;如果你对大语言模型背后的基础设施感兴趣&#xff0c;那么7月8号&#xff0c;北京海淀中关村创业大街&#xff0c;云原生…