2019年5月9日 星期四

[C/C++] Thread 與 Class 的使用方式

C++11新增支持Thread標準物件(std::thread,#include<thread>),使用方式分成:
  • A function pointer
    void cbThread(int params)
    {
        std::cout << "HelloWorld" << std::endl;
    }
    std::thread threadObj(cbThread, 5);

  • A function1 object 
    class MyThread {
    public:
        void run(int params) {
             std::cout << "HelloWorld" << std::endl;
        }
    }:

    std::thread threadObj(&MyThread::run, MyThread());

  • A function2 object 
    class MyThread {
    public:
        void operator()(int params) {
             std::cout << "HelloWorld" << std::endl;
        }
    }:

    std::thread threadObj(MyThread(), 5);

  • A lambda expression
    std::thread threadObj([](int params){
        std::cout << "HelloWorld" << std::endl;
    });


沒有留言:

張貼留言