学堂 学堂 学堂公众号手机端

std::thread是C++11标准库中的一个类,用于创建和管理线程

lewis 2年前 (2024-01-11) 阅读数 3 #技术

std::thread是C++11标准库中的一个类,用于创建和管理线程。通过std::thread可以创建一个新的线程,并将一个可调用对象(函数、函数对象或Lambda表达式)作为参数传递给线程。

使用std::thread时,需要包含头文件,并且线程对象可以使用构造函数初始化。例如:

#include<iostream>
#include<thread>

voidthreadFunc(){
std::cout<<"Hellofromthread"<<std::this_thread::get_id()<<std::endl;
}

intmain(){
std::threadthreadObj(threadFunc);

//等待线程执行完成
threadObj.join();

std::cout<<"Mainthread"<<std::this_thread::get_id()<<"exiting..."<<std::endl;

return0;
}

在上面的示例中,通过std::thread创建了一个名为threadObj的线程对象,并将函数threadFunc作为可调用对象传递给这个线程。然后在主线程中调用join()方法,等待线程执行完成。最后输出了主线程的ID和退出信息。


除了join()方法外,还可以使用detach()方法将线程分离,使得线程可以独立运行。需要注意的是,在使用std::thread时需要考虑线程安全性和资源管理。

版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门