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

发布时间:2024年01月14日

一、管理线程

1、启动线程

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

#include <iostream>
#include <thread>
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())。因此。即便在异常存在的情况下,确保线程正确地结合或是分离都是你的当务之急。

文章来源:https://blog.csdn.net/cloud323/article/details/135577408
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。