封装并实现一个线程类?

luckysym 2003-11-19 07:06:51
请问如何实现对一个线程的封装?就像MFC中的线程对象?
因为CreateThread不能将一个成员函数作为线程入口,
所以不能将一个类成员作为一个线程入口

请教该如何实现??
...全文
70 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
shootingstars 2003-11-20
  • 打赏
  • 举报
回复
使用静态成员函数作为CreateThread的入口(建议使用_beginthreadex,原因请参看Win32多线程编程)。
但是使用静态成员函数不能调用类中的非静态成员,所以一般将类的this指针作为数据传给线程函数,再在线程函数中转化为类指针,这时候就可以调用类成员了。
网上有很多封装好的线程类。推荐一个:http://www.uk.research.att.com/omniORB/doc/3.0/omnithread.html
huanyun 2003-11-19
  • 打赏
  • 举报
回复
CreateThread可以讲静态的成员函数作为线程入口

成员函数有一个默认的this指针参数
启动线程的时候不能带这个参数
所以只能用静态成员函数

15,471

社区成员

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

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