为什么在C++使用pthread_create()…
来源:互联网 发布:网络主播灯光摆放图 编辑:程序博客网 时间:2024/06/06 04:47
后来发现将线程处理函数声明为static类型,问题得解。
摘自:http://hi.chinaunix.net/?uid-11770217-action-viewspace-itemid-48886
将线程函数作为静态函数,因为在C++中静态函数没有this指针(即在内存中静态函数和普通全局函数几乎没有什么区别),故可以匹配编译通过,但是当线程函数要访问私有变量呢?可以访问到吗?答案是不可以!
解决方案: 将this指针作为参数传递给静态函数,这样可以通过该this指针访问所有的私有变量,但是我要是还需要向静态函数中传递我自己需要的参数呢?
答案是:将this指针和需要的参数作为一个结构体一起传给静态函数,请看下面代码:
#include <iostream>
#include "pthread.h"
using namespace std;
class A;
struct ARG
{
};
class A
{
};
A::A()
{
}
A::~A()
{
}
void* A::thread(void* args)
{
}
void A::excute()
{
}
int main()
{
}
- 为什么在C++使用pthread_create()…
- pthread_create()在C和C++使用区别
- c与c++在使用pthread_create创建线程时的区别
- C++中使用pthread_create
- 为什么在C++使用pthread_create()的时候,类成员函数做线程的处理函数必须要定义成static类型的?
- 为什么在C++使用pthread_create()的时候,类成员函数做线程的处理函数必须要定义成static类型的?
- pthread_create用法 c线程
- pthread_create函数使用
- C++使用pthread_create()
- pthread_create和pthread_join使用
- pthread_create()的基本使用
- gcc pthread_create()方法使用
- 为什么使用extern “C”?
- 为什么使用C++(1)
- 为什么在C++使用pthread_cre…
- pthread_create使用类中函数指针的…
- pthread_create使用类中函数指针的…
- Xcode c c++ 多线程 pthread_create
- nyoj-62-笨小熊
- Linux编程基础——GDB(设置断点)
- webpower中国区发布《2014年中国教育培训行业邮件营销数据报告》
- MYSQL数据BINLOG恢复
- Linux内核各模块启动时间分析
- 为什么在C++使用pthread_create()…
- C++类的静态成员变量使用须知
- linux动态库编译与使用
- VirtualBox 管理工具修改 UUID
- 【转】程序员规划人生:技术不是最…
- 【转】程序员30岁以后的发展迷途
- [转] gcc g++ 常用编译选项
- elasticsearch的hadoop插件使用
- 【转】Linux C语言头文件搜索路径