c++类里面些线程函数
来源:互联网 发布:北航 软件考研 编辑:程序博客网 时间:2024/04/30 00:13
在多线程的开发中,网上很多例子都是把线程函数写成了全局函数,但是如果要把一个线程操作写成一个类,线程函数放在类里面,如果用普通的类函数就会出现问题,因为在调用创建线程的api中传入的线程函数需要在编译时确定地址,如果是普通的类函数,编译时不能确定地址,需要创建类的对象才能获取。所以,如果要把线程的执行函数写成static函数,或者是全局函数,这样在编译时就能确定函数地址。
例:
#include <stdio.h>
#include <pthread.h>
#include <unistd.h>
class CThread
{
private:
int threadRun();//线程执行函数
static int count;
pthread_t pid;
public:
int start();//线程启动
static void* threadFunc(void *arg);//静态函数,线程函数
};
int CThread::count = 0;
int CThread::threadRun()
{
while(1)
{
sleep(1);
printf("aaaaaaaaaa-----%d\n", ++count);
}
return 0;
}
int CThread::start()
{
pthread_t tid;
pthread_create(&tid, NULL, threadFunc, (void*)this);
return 0;
}
void* CThread::threadFunc(void *arg)
{
CThread *obj = (CThread*)arg;
obj->threadRun();
}
int main(int argc, char **argv)
{
CThread obj;
obj.start();
sleep(20);
return 0;
}
- c++类里面些线程函数
- 一种在线程函数里面访问类成员的方法
- lock0lock.c里面函数总结
- 【C++】cstring里面的函数简介
- 字符串问题--C里面的strcpy函数
- C语言里面的 malloc 函数
- c语言里面log函数怎么用
- c语言里面的部分函数
- python调用C语言里面的函数
- c里面的存储类
- 想问下怎么在类里面写线程
- 关于在C++类里面建立线程
- c函数里面使用objective-c对象和方法
- c++~ 请问在类里面构造函数必须是public吗 可以定义到private吗
- C++ 文件里面调用C文件里面的函数——extern "C" 用法解析
- 另开了一个线程,线程里面一个函数调用UpdateData(false),结果就出错,为什么?
- C++中如何调用C里面的函数
- C里面的内存动态分配函数与存储类别
- Little Girl and Maximum Sum
- Sublime Text 手工汉化和插件开发、提交方法教程(一)——手工汉化
- js中获得父窗口链接getParent方法以及各种打开窗口的方法
- ARM Linux S3C2440之ADC驱动实现
- Solr快速回顾3---配置文件schema.xml和solrconfig.xml分析
- c++类里面些线程函数
- Scrum中的角色
- 利用struts2 springdm felix实现一个web应用
- timestampdiff在mysql与db2中用法
- C语言一些面试题-1
- Android操作系统管理
- strcasestr.c
- hdu 2049
- 成都智客运营总监王婷:大数据推广引领精准推广浪潮