C++ 并发编程 | 管理线程

一、管理线程

1、启动线程

线程是通过构造std::thread对象来开始的,该对象指定了线程上要运行的任务,std::thread可以与任何可调用类型一起工作,例如:

#include 
#include 
using namespace std;

void Work()
{
    cout << "hello world" << endl;
}

int main()
{
    std::thread myThread(Work);
    myThread.join();  // 阻塞等待线程执行完成

    return 0;
}

2、等待线程完成

一旦开始了线程,你就需要显示决定是要等它执行完成,还是让它自行运行。如果在std::thread对象被销毁前未做决定,那么你的程序会被终止(std::thread的析构函数调用std::terminate())。因此。即便在异常存在的情况下,确保线程正确地结合或是分离都是你的当务之急。

你可能感兴趣的:(c++,开发语言)