打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
作为pthread

很久以前已经说过,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()。

  Related posts:

  TCP/IP 指数增长和线性增长的编程实现

  关于 C++ 中的函数指针

  C#封装log4net

  使用ServletContextListener在服务器启动和关闭时创建和关闭缓存

  如何使用ServletContextListener

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
android 进程/线程管理(二)
多线程开发时线程局部变量的使用
C++中类成员函数作为回调函数
在linux c++类中的成员函数里创建多线程要注意的地方(转)
C++中多线程与Singleton的那些事儿
ou的笔记 ? pthread学习笔记 (3)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服