C++ thread学习一(利用C++11 thread创建线程)

之前几次学习多线程但都没有学到最后,今天重启C++多线程学习计划,希望可以坚持到最后。首先简单介绍一下进程以及线程。进程是系统资源分配的最小单位,线程是cpu执行的最小单位。简单来说,一个可执行程序运行起来就是一个进程,一个进程可能包含多个线程,一个进程一定有一个主线程,就相当于main函数,是程序的入口。

1. 创建一个线程,线程被创建后就立即开始执行

#include <iostream>
using namespace std;
#include "thread"
void threadTest()
{
    cout << "This is other thread\n";
}

int main(int argc, const char * argv[]) {
    // insert code here...
    
    thread mythread (threadTest);
    mythread.join();
    cout << "This is main thread\n";
    return 0;
}

结果:

这里使用了thread.join函数,这时候主线程会被阻塞,等待mythread执行完才会继续执行。

2. 也可以使用thread.detach函数,这样主线程和子线程分离,主线程不再等待子线程执行,子线程成为守护线程,由C++

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值