课时3 线程启动结束,创建线程多法,joindetach

Posted anthony-ling

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了课时3 线程启动结束,创建线程多法,joindetach相关的知识,希望对你有一定的参考价值。

用类作为可调用对象创建线程

class A

public:
    A()  cout << "构造函数" << endl; 
    A(const A& a)  cout << "拷贝构造函数" << endl; 

    void operator()()  cout << "此时在子线程中" << endl; 

    ~A()  cout << "析构函数" << endl; 
private:

;

int main(int argc, char** argv)

    A a;
    thread myjob(a);

    myjob.join();

    cout << "此时在主线程中" << endl;
    return 0;

用lambda作为可调用对象创建线程

int main(int argc, char** argv)

    auto f = [] cout << "lambda" << endl; ;
    thread myjob(f);
    //thread myjob([] cout << "lambda" << endl; );这样的使用方法也可以通过编译

    myjob.join();

    cout << "此时在主线程中" << endl;
    return 0;

以上是关于课时3 线程启动结束,创建线程多法,joindetach的主要内容,如果未能解决你的问题,请参考以下文章

C++并发与多线程 2_线程启动结束,创建线程多种方法,join,detach

C++11多线程第二篇:线程启动结束创建线程的多个方法:joindetach

C++11多线程第二篇:线程启动结束创建线程的多个方法:joindetach

易语言怎么启动线程

Java线程池:ThreadPoolExecutor

Java线程池:ThreadPoolExecutor