C++多线程学习 0.00001

本文通过实例演示了C++中多线程的基本使用,包括thread类的创建、detach和join方法的区别,以及如何实现并行执行。适合C++初学者理解多线程编程的基础概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因为一直用C++刷leetcode。但是感觉不会多线程都不敢说学过C++。故记录C++多线程学习过程。当前学习进度0.00001%。

学习的第一篇博客:https://blog.csdn.net/qq_22494029/article/details/79273127
学习后尝试复现添加注释并修改如下:

#include<thread>  //多线程头文件
#include<iostream>//输入输出流
#include<windows.h>

using namespace std;

void Try_Thread1();//第一个线程功能{}
void Try_Thread2();//第二个线程功能{}

int main()
{
thread first(Try_Thread1);//定义第一个线程,将功能放入
first.detach();//detach将线程从当前线程分离,即不受阻塞,操作系统将其独立对待;此处是将first线程从主线程分离出去,主线程和first能够同时运行;
thread second(Try_Thread1);//同上;
second.detach();
cout<<"多线程学习之0.00001%"<<endl;
system("pause");//暂停屏幕;VS常用操作,可以看到打印结果;
}

void Try_Thread1()//第一个线程具体的功能
{	for(int i=0;i<10;i++){
	cout<<"Test_Thread1="<<" "<<i<<endl;
	sleep(100);
}
}
void Try_Thread2()//第二个线程具体的功能
{	for(int j=100;j<110;j++){
	cout<<"Test_Thread2="<<" "<<j<<endl;
	sleep(100);
}
}

与detach()类似多线程中还有join操作。二者区别如下:
thread.join把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程。比如在线程B中调用了线程A的join()方法,直到线程A执行完毕后,才会继续执行线程B。join是阻塞当前线程,并等待object对应线程结束,该线程继续执行搜索。
detach是将线程从当前线程分离出去,即不受阻塞,操作系统会将其独立对待。
参考链接:https://blog.csdn.net/liuhannan111/article/details/78894968

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值