linux C 类成员函数中创建线程,且能访问类中其他成员变量
作者 佚名技术
来源 Linux系统
浏览
发布时间 2012-03-22
最近刚开始玩C ,遇到一些基础问题,下面就是其中之一,将源代码公布一下方便大家查找.
linux C 类成员函数中创建线程,且能访问类中其他成员变量.
重点:将线程执行函数声明为非类成员函数,通过参数*arg 将this指针传入线程函数体中.
test.h
#ifndef TEST_H #define TEST_H class test { public: test(); ~test(); public: int p; void sayHello(int r); void createThread(); private: int q; }; #endif test.cpp #include "test.h" #include <string> #include<pthread.h> test::test() {} test::~test() {} void *threadFunction(void *arg) { test *obj = (test *)arg; printf("get p:%d",obj->p); obj->sayHello(12); for(;;); } void test::sayHello(int r) { printf("Hello world %d!/n", r); } void test::createThread() { p = 1; q = 2; pthread_t threadID; pthread_create(&threadID, NULL, threadFunction, this); getchar(); } ~ main.cpp #include "test.h" #include <string> #include <iostream.h> #include <map> using namespace std; int main() { test t; t.createThread(); return 0; } ~ 拥有帝国一切,皆有可能。欢迎访问phome.net |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于linux C 类成员函数中创建线程,且能访问类中其他成员变量的所有评论