在C++中,std::thread
是用于创建和管理线程的标准库类。可以使用std::thread
类来创建新线程并执行指定的函数或成员函数。以下是std::thread
的用法:
导入头文件:#include <thread>
创建线程并执行函数:
void myFunction() {
// 线程执行的代码
}
std::thread myThread(myFunction); // 创建线程并执行myFunction函数
创建线程并执行成员函数(需要使用成员函数指针和对象):
class MyClass {
public:
void myMethod() {
// 线程执行的代码
}
};
MyClass myObject;
std::thread myThread(&MyClass::myMethod, &myObject); // 创建线程并执行myMethod函数
等待线程执行完成:
myThread.join(); // 等待线程执行完成
获取线程ID:
std::thread::id threadID = myThread.get_id(); // 获取线程ID
需要注意的是,线程创建后需要使用join()
来等待线程执行完成,否则程序可能会在主线程退出时终止。此外,还可以使用detach()
方法将线程与主线程分离,使其在后台独立运行,但要注意线程的生命周期和资源管理。