C++类的成员函数并发问题

qq675927952 2010-03-27 11:56:53
想问一下,在windows平台下的我想并发的执行类的成员函数,怎么写啊,因为我想使用类的数据成员,所以不能写成 静态成员函数,CreateThread这个函数要求 那个函数必须是 可见的,要么是全局函数,要么是类的静态成员。

我做的是多种群粒子群算法的优化,所以想每个种群并发执行来进行优化。。。

在线等!请高手帮帮忙啊,急啊!,
...全文
243 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
cattycat 2010-03-27
  • 打赏
  • 举报
回复
或者把你那个函数设成静态成员函数,就可以用CreateThread函数了。
cattycat 2010-03-27
  • 打赏
  • 举报
回复
可以用MFC的AfxBeginThread()函数,你的类继承CWindThread就可以了。
可以看看MFC的工作者线程。
jackyjkchen 2010-03-27
  • 打赏
  • 举报
回复
使用静态线程函数,线程参数传入this指针即可使用类成员
qq675927952 2010-03-27
  • 打赏
  • 举报
回复
请问那个高手能说的详细些吗?举个简单的例子吧,
nscboy 2010-03-27
  • 打赏
  • 举报
回复
纯粹并发的执行类的成员函数是没有问题的.你甚至可用把它作为普通函数看待.
关键是你在这些成员函数中操作成员的变量时要特别注意变量所属的对象.以及这些操作的同步问题.
herman~~ 2010-03-27
  • 打赏
  • 举报
回复
静态线程函数
传入类this指针,然后调用类的成员函数
开心的卡夫卡 2010-03-27
  • 打赏
  • 举报
回复
CWinThread m_thread;
AfxBeginThread (MyProc, this);

MyProc(LPARAM lparam)
{
CMyClass* m_class = (CMyClass*)lparam;
。。。
。。。;
}

如此如此~~~~
xxphddz 2010-03-27
  • 打赏
  • 举报
回复
在线程处理函数中有一个无类型指针(void*)参数;
可将需要处理的类地址传入即可!若还需要其他数据对象。可将所有的数据对象当做结构体变量的成员变量。
将结构体指针传递进去

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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