您的位置:首页 > 编程语言 > C语言/C++

关于在C++类里面建立线程

2015-06-28 13:55 204 查看
将线程函数声明为静态函数或者友元函数,但是静态函数只能访问静态成员变量,所以利用参数将this传进函数来,就可以通过该指针访问类成员变量和函数了。具体例子:

不多说了,直接上代码:

lll.h

#include<afxwin.h>

#include<iostream>

using namespace std;

int flag=1;

class realtask

{
public:
friend UINT task(LPVOID param);
BOOL starttask();
void display()
{
int b;
cout<<"请输入一个函数"<<endl;
cin>>b;
cout<<"display:"<<b<<endl;
}
void over()
{
flag=0;
}

};

 UINT task(LPVOID param)

 {
realtask *ptask=(realtask *)param;
while(flag)
{
cout<<"123"<<endl;
}
return 0;

 }

 BOOL realtask::starttask()

 {
AfxBeginThread(task,this);
return true;

 }

//主函数

#include "stdafx.h"

#include"lll.h"

int _tmain(int argc, _TCHAR* argv[])

{
realtask a;
a.starttask();
a.display();
a.over();

return 0;

}

主要是因为静态函数不会带类的参数,所以通过this指针
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: