如何从类外部调用非静态成员函数上的pthread_create()

时间:2017-09-02 13:02:39

标签: c++ static pthreads member-functions non-static

我希望能够从类外部创建一个类的非静态成员函数的线程,而不必调用静态帮助函数。这可能吗?我知道非静态成员函数通常都有一个'这个'隐含地添加了参数但是如何能够明确地添加'这个'到pthread_create()调用中的函数调用?这需要使用pthread完成。我想要实现的一个例子显示在下面的代码中

class A
{
    void* nonStaticFunction()
    {
        cout<<"Hi"<<endl;
        return NULL;
    }
}

typedef void* (*THREADFUNCPTR)(void*);

int main()
{
    A* a = new A();
    pthread_t pthread;
    pthread_create(&pthread,NULL,(THREADFUNCPTR) &A::nonStaticFunction,a);
    return 0;
}

0 个答案:

没有答案