游戏开发论坛

 找回密码
 立即注册
搜索
楼主: 雨落寒星

线程创建问题,懂的帮下忙

[复制链接]

50

主题

244

帖子

319

积分

中级会员

Rank: 3Rank: 3

积分
319
QQ
 楼主| 发表于 2004-12-17 21:22:00 | 显示全部楼层

Re:线程创建问题,懂的帮下忙

只能用DWORD WINAPI定义线程函数吗?我现在才开始测试

60

主题

1319

帖子

1319

积分

金牌会员

Rank: 6Rank: 6

积分
1319
发表于 2004-12-17 21:40:00 | 显示全部楼层

Re:线程创建问题,懂的帮下忙

好像是,因为CreateThread的那个参数就是这么规定的啊。

50

主题

244

帖子

319

积分

中级会员

Rank: 3Rank: 3

积分
319
QQ
 楼主| 发表于 2004-12-17 22:20:00 | 显示全部楼层

Re:线程创建问题,懂的帮下忙

为什么我在类里创建线程总会出错啊?
DWORD WINAPI test::tmain(void *data)
{
        test *t=(test *)data;
        if(t)
      t->Run();
        return 0;
}
void test::Thread()
{

        if((int)CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)tmain,(void*)this,0,NULL)!=0)
           cout<<"失败"<<endl;
}
void test::Run()
{

}
为什么创建会显示失败啊?

50

主题

244

帖子

319

积分

中级会员

Rank: 3Rank: 3

积分
319
QQ
 楼主| 发表于 2004-12-17 22:22:00 | 显示全部楼层

Re:线程创建问题,懂的帮下忙

难道不能在类里创建?tmain是按照ljm那样定义的,不过我换成在类里创建线程了

60

主题

1319

帖子

1319

积分

金牌会员

Rank: 6Rank: 6

积分
1319
发表于 2004-12-18 13:13:00 | 显示全部楼层

Re:线程创建问题,懂的帮下忙

如果CreateThread返回0才是失败呢。
如果成功了,应该返回一个有效的句柄。
if(CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)tmain,(void*)this,0,NULL)==NULL)
   cout<<"失败"<<endl;

13

主题

978

帖子

978

积分

高级会员

Rank: 4

积分
978
发表于 2004-12-18 17:44:00 | 显示全部楼层

Re:线程创建问题,懂的帮下忙

mfc中不是有封装好的线程类吗?难道空的win32工程不能用mfc?

60

主题

1319

帖子

1319

积分

金牌会员

Rank: 6Rank: 6

积分
1319
发表于 2004-12-18 19:17:00 | 显示全部楼层

Re:线程创建问题,懂的帮下忙

不用那个线程类也不是很麻烦啊。

13

主题

978

帖子

978

积分

高级会员

Rank: 4

积分
978
发表于 2004-12-18 19:44:00 | 显示全部楼层

Re:线程创建问题,懂的帮下忙

不是这个问题,c++的设计思想就是用类来管理资源的使用和释放。用api总感觉有点怪怪的……
是否是静态的函数对于api调用来说是一样的…………

13

主题

978

帖子

978

积分

高级会员

Rank: 4

积分
978
发表于 2004-12-18 19:56:00 | 显示全部楼层

Re:线程创建问题,懂的帮下忙

另,google上搜到的线程使用的一个小例子……
http://www.vchelp.net/ASP/ibr_upload/1330.rar

50

主题

244

帖子

319

积分

中级会员

Rank: 3Rank: 3

积分
319
QQ
 楼主| 发表于 2004-12-18 22:33:00 | 显示全部楼层

Re:线程创建问题,懂的帮下忙

回ljm:但是如果正确创建了线程那么函数Run里的代码就应该执行啊,我在里面只是用了个显示语句cout<<"OK"<<endl;不过并没有显示出来啊。
谢谢seer兄的帮忙,我去下来看看,因为要考试了,今天这么晚才来看
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-23 19:12

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表