专业编程基础技术教程

网站首页 > 基础教程 正文

C++并发编程如何调用类内部函数 c++调用类中函数

ccvgpt 2024-11-11 11:24:02 基础教程 6 ℃

C++11之后,C++引入了多线程标准库thread,这里直接说如何在一个类的成员函数中使用多线程调用起他成员函数的问题。直接上答案。

#include <iostream>
#include <thread>

using namespace std;

class ThreadInClass {
    
    public:
    void threadFun() {
        cout << "I am a method of ThreadInClass from thread : ." << this_thread::get_id() << endl;
    }

    void invokeThreadFun() {
        thread call(&ThreadInClass::threadFun, ref(*this));
        call.join();
    }

};

int main() {
    ThreadInClass threadClass;
    threadClass.invokeThreadFun();
    return 0;
}

以上代码中定义了一个ThreadInClass的类,其有两个函数,一个是用来在新的线程中执行的threadFun,一个是在主线程调用的invokeThreadFun,使用是只需要把this指针转换为引用传递给thread的构造函数即可。

C++并发编程如何调用类内部函数 c++调用类中函数

最近发表
标签列表