当前位置:编程学习 > C/C++ >>

C++成员函数作为pthread_create参数

很久以前已经说过,C++指向类成员函数的指针非常易做图, 如果要把类成员函数作为线程 pthread_create 的参数, 就更复杂!

class A{
public:
    void run(){
    }

    static void *run_helper(void *arg){
        ((A *)arg)->run();
        return (void *)NULL;
    }
};

A a;
pthread_t t;
pthread_create(&t, NULL, &A::run_helper, &a);
本来我们希望把 a.run 作为参数, 为此, 必须创建一个 static 的 run_helper() 函数, 然后在 run_helper() 中调用 run(). www.zzzyk.com

Related posts:
TCP/IP 指数增长和线性增长的编程实现
关于 C++ 中的函数指针
C#封装log4net
使用ServletContextListener在服务器启动和关闭时创建和关闭缓存
如何使用ServletContextListener
你现在看的文章是:C++成员函数作为pthread_create参数

补充:软件开发 , C++ ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,