C++中使用Thread类需要包含啥头文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++中使用Thread类需要包含啥头文件相关的知识,希望对你有一定的参考价值。
Java中可以直接从类Thread继承,C++中可以吗?如果可以,需要包含什么头文件呢?
包含头文件 #include <thread>
1、std::thread 的使用非常放便和强大,该类几乎可以把任何函数作为线程主函数。
2、用法:
首先包含头文件 #include <thread>
定义线程主函数: 根据不同的需要,线程的主函数可以是普通函数、函数对象、lambda表达式或者类成员函数。
建立std::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();
参考技术A 看操作系统,标准C++没有现成的概念,但是c里面提供了这些线程的api
windows和linux略有不同本回答被提问者采纳 参考技术B #include <thread>
以上是关于C++中使用Thread类需要包含啥头文件的主要内容,如果未能解决你的问题,请参考以下文章