如何在对象内部启动一个线程,线程函数是这个类的成员函数?

gxcoo 2003-04-27 03:19:12
是不是必须把作为线程函数的成员函数声明为static?我这样做的,造成无法访问类的其他非static成员
请高人指点
...全文
42 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
功名半纸 2003-04-28
  • 打赏
  • 举报
回复
申明一全局或者静态成员函数,启动线程时传入this即可
class A
{
public:
static UINT pro(void * lpVoid)
int a(){
...
};
int start();
}

UINT A::pro(void * lpVoid)
{
A * self = (A *) lpVoid);
self->a();
}
int A::start()
{
AfxBeginThread(pro,this);
}
gxcoo 2003-04-28
  • 打赏
  • 举报
回复
谢谢force_eagle(战鹰)
NowCan 2003-04-27
  • 打赏
  • 举报
回复
查旧帖,太多了。
masterz 2003-04-27
  • 打赏
  • 举报
回复
look at C++ wrapper class here
http://www.codeproject.com/threads/#Threads

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧