如何让一个线程函数是一个类的成员函数

yueyucanyang 2008-06-18 06:44:30
如何让一个线程函数是一个类的成员函数,怎么定义?
...全文
80 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
dbger 2008-06-18
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 yueyucanyang 的回复:]
引用 3 楼 unsigned 的回复:
线程函数的参数传入这个类对象的this指针,里面再调用一个线程函数,不就可以了?

这种方法如何实现?
[/Quote]

//类头文件中申明:
public:

static UINT threadFun(LPVOID hd);
//CPP中:
UINT CXX1Dlg::threadFun(LPVOID hd)
{
CXXDlg *pDlg = (CXXDlg*)hd;

pDlg->......

return 1;
};
//调用
void CXX1Dlg::OnButton1()
{
// TODO: Add your control notification handler code here

AfxBeginThread(threadFun, this);
}
yueyucanyang 2008-06-18
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 unsigned 的回复:]
线程函数的参数传入这个类对象的this指针,里面再调用一个线程函数,不就可以了?
[/Quote]
这种方法如何实现?
liyinlei 2008-06-18
  • 打赏
  • 举报
回复
将该类的对象指针传入线程函数,在内部调用该类的成员函数
rookieme 2008-06-18
  • 打赏
  • 举报
回复
//类头文件中申明:
public:

static UINT threadFun(LPVOID hd);
//CPP中:
UINT CXX1Dlg::threadFun(LPVOID hd)
{
return 1;
};
//调用
void CXX1Dlg::OnButton1()
{
// TODO: Add your control notification handler code here

AfxBeginThread(threadFun, NULL);
}

smneo 2008-06-18
  • 打赏
  • 举报
回复
static DWORD WINAPI Function(void* p);
僵哥 2008-06-18
  • 打赏
  • 举报
回复
线程函数的参数传入这个类对象的this指针,里面再调用一个线程函数,不就可以了?
yueyucanyang 2008-06-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 CounterHack 的回复:]
定义成static的.
[/Quote]

声明的时候用不用也是静态的啊?
CounterHack 2008-06-18
  • 打赏
  • 举报
回复
定义成static的.

15,466

社区成员

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

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