C++中使用Thread类需要包含什么头文件
3个回答
展开全部
包含头文件 #include <thread>
1、std::thread 的使用非常放便和强大,该类几乎可以把任何函数作为线程主函数。
2、用法:
首先包含头文件 #include <thread>
定义线程主函数: 根据不同的需要,线程的主函数可以是普通函数、函数对象、lambda表达式或者类成员函数。
建立std::thread对象,并把线程要运行的函数(线程主函数)以及相应的函数参数通过构造函数传递给该对象, 构造函数通常会海纳百川。
例程:
#include <thread>
#include <iostream>
class ThreadMain {
public:
void operator()() {
run();
}
void run() {
std::cout << "Hello, C++11 thread\n";
}
};
void generalFunc(int data) {
std::cout << "Hello, C++11 thread\n";
}
int main() {
ThreadMain tm;
std::thread t1(generalFunc, 1); /*传递普通函数指针和参数0给thread对象t1*/
std::thread t2(&ThreadMain::run, &tm); /*将成员函数传递给thread对象t2, 并且传递调用该函数的对象的指针&tm*/
std::thread t3(tm); /*传递一个函数对象给t3*/
std::thread t4([]() { std::cout << "Hello, C++11 thread\n"; }); /*传递lambda表达式给thread对象t4*/
/* 调用join函数等待线程终止,并回收线程所占资源*/
t1.join();
t2.join();
t3.join();
t4.join();
}
展开全部
看操作系统,标准C++没有现成的概念,但是c里面提供了这些线程的api
windows和linux略有不同
windows和linux略有不同
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <thread>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询