简单线程问题————希望有解释,为什么重复执行

chelp 2011-10-14 08:32:02
#include "stdafx.h"
#include"windows.h"
#include"iostream.h"
DWORD WINAPI F(LPVOID)
{cout<<"asdfghj"<<endl;
return 1;}

DWORD WINAPI F1(LPVOID)
{cout<<"123456"<<endl;
return 1;}


int main(int argc, char* argv[])
{
HANDLE h=CreateThread(NULL,0,F,0,0,NULL);
HANDLE h1=CreateThread(NULL,0,F1,0,0,NULL);
Sleep(3);
return 0;
}
结果: asdfghj
asdfghj
123456
是不是两次把线程装进内存了?
...全文
177 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
chelp 2011-10-15
  • 打赏
  • 举报
回复
zijiding
PG 2011-10-15
  • 打赏
  • 举报
回复
帮顶了~
chelp 2011-10-15
  • 打赏
  • 举报
回复
#include "stdafx.h"
#include"windows.h"
#include"iostream.h"
DWORD WINAPI F(LPVOID)
{cout<<"asdfghj"<<endl;
return 1;}

DWORD WINAPI F1(LPVOID)
{cout<<"123456"<<endl;
return 1;}


int main(int argc, char* argv[])
{
HANDLE h=CreateThread(NULL,0,F,0,0,NULL);
HANDLE h1=CreateThread(NULL,0,F1,0,0,NULL);
Sleep(3);
return 0;
}
结果: asdfghj
asdfghj
123456
是不是两次把线程装进内存了?
hunanrenjia 2011-10-15
  • 打赏
  • 举报
回复
不明白,帮顶
yujie_v 2011-10-15
  • 打赏
  • 举报
回复
线程安全的函数,很多库函数都不是的。
yujie_v 2011-10-15
  • 打赏
  • 举报
回复
线程安全的函数,很多库函数都不是的。
星羽 2011-10-15
  • 打赏
  • 举报
回复

#include "stdafx.h"
#include"windows.h"

DWORD WINAPI F(LPVOID)
{
printf("asdfghj\n");
return 1;
}

DWORD WINAPI F1(LPVOID)
{
printf("123456\n");
return 1;
}


int main(int argc, char* argv[])
{
HANDLE h=CreateThread(NULL,0,F,0,0,NULL);
HANDLE h1=CreateThread(NULL,0,F1,0,0,NULL);
Sleep(100);
return 0;
}
星羽 2011-10-15
  • 打赏
  • 举报
回复
应该是cout的缓存问题,楼主改个输出函数看看那,比如printf,
记得,好像啊,windows的printf是不带缓存的,如果带了,你设置成不带的看看
星羽 2011-10-15
  • 打赏
  • 举报
回复
cout的问题,没有多线程保护
yby4769250 2011-10-15
  • 打赏
  • 举报
回复
显然不会有两次asdfghj输出,F和F1都只分别创建了一个线程,cout也分别执行了一次
qq120848369 2011-10-15
  • 打赏
  • 举报
回复
printf共同操作stdout的buffer,非线程安全,那就别用。
ryfdizuo 2011-10-14
  • 打赏
  • 举报
回复
关注一下。
chelp 2011-10-14
  • 打赏
  • 举报
回复
多次执行就看出来了,真的,我问老师,老师就是这样了事的,其实只不过没多执行几次
ayw215 2011-10-14
  • 打赏
  • 举报
回复
lz用的是神一样的编译器
柯本 2011-10-14
  • 打赏
  • 举报
回复
BDS2010,VC2008,GCC 4.5.3没问题
紫冰枫 2011-10-14
  • 打赏
  • 举报
回复
vc6.0也木有问题....
c_losed 2011-10-14
  • 打赏
  • 举报
回复
真爱生命 远离vc6
acdbxzyw 2011-10-14
  • 打赏
  • 举报
回复
vs 2008 木有问题。。。

64,654

社区成员

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

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