首页 > 编程语言 >一个C++11的线程函数

一个C++11的线程函数

时间:2023-07-06 14:11:26浏览次数:42  
标签:11 函数 void C++ 线程 include

一个C++11的线程函数

#include <iostream>
#include <thread>
#include <chrono>

void printNumbers() {
    for (int i = 1; i <= 100; ++i) {
        std::cout << i << std::endl;
        std::this_thread::sleep_for(std::chrono::milliseconds(500));
    }
}

int main() {
    std::thread t(printNumbers);
    t.join();
    return 0;
}

//g++ -std=c++11 -o program program.cpp -pthread

/*
解释:

在主函数中,我们创建了一个名为 t 的线程,该线程调用 printNumbers 函数。
printNumbers 函数负责打印数字。它使用一个循环打印数字1到100,并在每次打印后使用 std::this_thread::sleep_for 函数暂停500毫秒。
在主函数中,我们调用 t.join() 等待线程的完成,确保线程执行完毕后程序才会退出。
编译命令中的 -std=c++11 选项指定使用 C++11 标准进行编译。-o program 用于指定输出可执行文件的名称为 "program"。-pthread 选项是为了链接线程库。

请确保将源代码保存为 program.cpp,然后使用上述编译命令进行编译。成功编译后,您可以运行生成的可执行文件 program 来观察数字的打印效果。

*/

 

标签:11,函数,void,C++,线程,include
From: https://www.cnblogs.com/music-liang/p/17531989.html

相关文章

  • C++ 重载运算符和重载函数
     C++允许在同一作用域中的某个函数和运算符指定多个定义,分别称为函数重载和运算符重载。重载声明是指一个与之前已经在该作用域内声明过的函数或方法具有相同名称的声明,但是它们的参数列表和定义(实现)不相同。当您调用一个重载函数或重载运算符时,编译器通过把您所使用的参数......
  • 22年11月Tita360评估题库上线
    1.  支持设计问卷时,从题库批量导入题目Tita-OKR和新绩效一体化管理平台使用场景:企业之前没有做过360评估活动,不知道如何创建合适的问卷;或者企业想用一些新的不同维度的题目进行评估2. 活动发布后新增的被评估人增加未发放标识使用场景:在活动发布后新增大量被评估人......
  • C/C++ Qt 数据库SqlRelationalTable关联表
    在上一篇博文中详细介绍了SqlTableModle组件是如何使用的,本篇博文将介绍SqlRelationalTable关联表组件,该组件其实是SqlTableModle组件的扩展类,SqlRelationalTable组件可以关联某个主表中的外键,例如将主表中的某个字段与附加表中的特定字段相关联起来,QSqlRelation(关联表名,关联ID,......
  • C/C++ HOOK 全局 API
    全局Hook不一定需要用到Dll,比如全局的鼠标钩子、键盘钩子都是不需要Dll的,但是要钩住API,就需要Dll的协助了,下面直接放上Dll的代码,注意这里使用的是MFCDLL。//Test_Dll(mfc).cpp:定义DLL的初始化例程。//#include"stdafx.h"#include"Test_Dll(mfc).h"#ifde......
  • 2023年7月5日,生产者消费者模型,线程的休眠、礼让、合并、中断、生命周期、守护线程
    线程复习1.线程的休眠需求:编写一个抽取学员回答问题的程序,要求倒数三秒后输出被抽中的学员姓名分析:1.创建String数组存放学员姓名2.利用随机数获取学员下标3.通过下标获取学员姓名4.倒计时3秒通过for循环使用Thread.sleep(1000)来实现,Thread.sleep(1000);此方法为静态......
  • c++ day1
    跟着数据结构,算法与应用c++语言描述来学习本书第一周计划回顾c++的基础知识本人只是记录自己认为要去记录的一些资料想要系统的学习还是需要去啃书1template<classT>是C++中用于定义模板的语法结构。它表明接下来的代码是一个模板,并且模板参数名为T,它可以是任意合法的C++......
  • 多线程介绍
    什么是程序?程序(Program)是一个静态的概念,一般对应于操作系统中的一个可执行文件。什么是进程?执行中的程序叫做进程(Process),是一个动态的概念。其实进程就是一个在内存中独立运行的程序空间。现代操作系统比如MacOSX,Linux,Windows等,都是支持“多任务”的操作系统,叫“多任务”呢?......
  • Day11-设计模式之享元模式
    设计模式之享元模式一、意图在面向对象系统的设计和实现中,创建对象是最为常见的操作。这里面就有一个问题:如果一个应用程序使用了太多的对象,就会造成很大的存储开销。特别是对于大量轻量级(细粒度)的对象,比如在文档编辑器的设计过程中,我们如果为每个字母创建一个对象的话,系统可......
  • 跨平台应用的全新时代:Avalonia V11
    译介今天,我们非常高兴地宣布Avalonia11.0版本的发布!在经历了近一年的预览版本和无数个数以千计的工作小时后,现在是时候发布一款改变游戏规则的跨平台应用程序开发工具了。Avaloniav11代表着我们在实现目标上的巨大飞跃,为开发人员提供了高效、功能丰富和无缝的体验,可以在所有主......
  • 【嵌入式】keil5中使用C,C++混合编译
    5份文件:a.c和a.h和b.cpp和b.h和main.c其中main.c调用b.cpp,b.cpp调用a.c main.c#include"./b.h"intmain(void){ intt=funC(); while(1) { }} b.h#ifndef_B_#define_B_#ifdef__cplusplusextern"C"{#endifintfunC(void);#ifdef__cplusp......