为什么会被调用两次

woshishao 2009-10-09 05:06:49

#include "windows.h"
#include "stdio.h"

DWORD WINAPI fun1(
LPVOID lpParameter
);

int main(int argc, char* argv[])
{
HANDLE hTread = CreateThread(NULL,0,fun1,NULL,0,NULL);

printf("Main fun run!\n");
int y=0;
for(int x=0;x<1000000;x++)
y++;
return 0;
}

DWORD WINAPI fun1(
LPVOID lpParameter
)
{
//int i=100;
while(true)
printf("fun1 run\n");
return 0;
}





运行结果有时候是先两个Main fun run!,再多个fun1 run,有时候是一个Main fun run!,在多个fun1 run,解释下怎么会首先出现两个Main fun run
...全文
87 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
woshishao 2009-10-09
  • 打赏
  • 举报
回复
搞定了
woshishao 2009-10-09
  • 打赏
  • 举报
回复
楼上的,没看到啊,哪设置啊?
wutaihua 2009-10-09
  • 打赏
  • 举报
回复
你选择的run-time library不对,应该做如下设置:

project settings->Use run-time library->Debug Multithreaded
qiangorqiang 2009-10-09
  • 打赏
  • 举报
回复
是不是看错了。应该不会出现你讲的情况。
woshishao 2009-10-09
  • 打赏
  • 举报
回复
你试试看,就知道了
shinefen 2009-10-09
  • 打赏
  • 举报
回复
啊?

如果将那句Main fun run!放在.FOR循环后呢?
fandh 2009-10-09
  • 打赏
  • 举报
回复
不知道,学习一下!

15,466

社区成员

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

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