简单描述下win32如何在类中开启线程

[复制链接]
查看11 | 回复2 | 2008-10-25 20:03:03 | 显示全部楼层 |阅读模式
我知道win32在主函数开启线程的方法,现在我需要在一个类中开启一个线程,但线程函数类型必须是PVOID的,请简单说明一下思路和过程。
拒绝ZB,谢谢合作!
只要用心回答,另有重分相谢!
对不起,可能我的表述有点问题,
我说的意思是说在其他类中开启线程,比如,winMain.cpp是我的主函数入口,CGame是我的另一个类,我现在是想在CGame中开启一个线程,比如加载游戏或播放音乐。

回复

使用道具 举报

千问 | 2008-10-25 20:03:03 | 显示全部楼层
如果没有参数或者只有一个参数你知道该怎么办吧?如果有两个或两个以上的参数,那么没别的办法,定义一个结构体,将需要传递的变量放入这个结构体,然后将这个结构体的地址传给线程函数,在线程函数内部声明一个该结构体类型的指针,使用强制类型转换将参数PVOID转成该结构体类型的指针。就可以用了。举个例子,我想给线程函数mythread传两个int型变量,可以这么做:struct Params{int first;int second;};void mythread(PVOID pvoid){Params* pparams = (Params*)pvoid;// 使用 pparams->first,ppar...
回复

使用道具 举报

千问 | 2008-10-25 20:03:03 | 显示全部楼层
这样行不?向类发送自定义消息,在那个类中响应这个消息,创建线程。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行