-
-
线程的疑惑
-
发表于:
2008-7-3 12:38
5866
-
小弟刚学习多线程编程。
写了一个简单的多线程程序。
#include<iostream.h>
#include<windows.h>
DWORD WINAPI ThreadFun(LPVOID arg);
DWORD i=0;
void main()
{
HANDLE thread;
DWORD threadid;
thread=CreateThread(0,0,ThreadFun,&i,0,&threadid);
cout<<"main thread"<<j++<<endl;
Sleep(1000);
CloseHandle(thread);
}
DWORD WINAPI ThreadFun(LPVOID arg)
{
cout<<"my thread"<<i++<<endl;
return 0;
}
这个程序输出的两个结果是
1.
my thread0
my thread0
main thread
Press any key to continue
2.
main thread
main thread
my thread0
Press any key to continue
请问1中my thread0出现两次是怎么造成的。
同样的问题出现在2中。
最好能把线程的大概执行路径说一下。
谢谢。急需!!!
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课