C++中使用Thread类需要包含什么头文件

Java中可以直接从类Thread继承,C++中可以吗?如果可以,需要包含什么头文件呢?... Java中可以直接从类Thread继承,C++中可以吗?如果可以,需要包含什么头文件呢? 展开
 我来答
tattackor
推荐于2018-02-28 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:863万
展开全部

  包含头文件 #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();
}
liuyjcs
推荐于2017-11-22 · TA获得超过134个赞
知道小有建树答主
回答量:169
采纳率:0%
帮助的人:92万
展开全部
看操作系统,标准C++没有现成的概念,但是c里面提供了这些线程的api
windows和linux略有不同
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cnnbwhq1972
2015-09-27 · TA获得超过3843个赞
知道小有建树答主
回答量:488
采纳率:83%
帮助的人:236万
展开全部
#include <thread>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式