-
-
线程的疑惑
-
发表于:
2008-7-3 12:38
5861
-
小弟刚学习多线程编程。
写了一个简单的多线程程序。
#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中。
最好能把线程的大概执行路径说一下。
谢谢。急需!!!
[课程]FART 脱壳王!加量不加价!FART作者讲授!