std::thread是C++11标准库中的一个类,用于创建和管理线程。通过std::thread可以创建一个新的线程,并将一个可调用对象(函数、函数对象或Lambda表达式)作为参数传递给线程。
使用std::thread时,需要包含头文件,并且线程对象可以使用构造函数初始化。例如:
#include <iostream>
#include <thread>
void threadFunc() {
std::cout << "Hello from thread" << std::this_thread::get_id() << std::endl;
}
int main() {
std::thread threadObj(threadFunc);
// 等待线程执行完成
threadObj.join();
std::cout << "Main thread" << std::this_thread::get_id() << " exiting..." << std::endl;
return 0;
}
在上面的示例中,通过std::thread创建了一个名为threadObj的线程对象,并将函数threadFunc作为可调用对象传递给这个线程。然后在主线程中调用join()方法,等待线程执行完成。最后输出了主线程的ID和退出信息。
除了join()方法外,还可以使用detach()方法将线程分离,使得线程可以独立运行。需要注意的是,在使用std::thread时需要考虑线程安全性和资源管理。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/897651.html