下面是一段在WINDOWS环境下,建立多个线程运行程序的一段代码.这段代码我去年就见过了,虽然挺简单的,但是一直没有在意,这次重新看它,希望能够看出点不一样的东西,并行计算一直是我一个非常喜欢的研究方向.在自己写的过程当中,还有一个地方出现了一个小小的错误,我想这如果不是我自己重新又写了一遍是不会发现这个问题的.毕竟WINDOWS编程我还不熟悉,现在一切都还在学习当中.以后要多实践啊.
#include<windows.h>
#include<iostream.h>
DWORD WINAPI Fun1Proc(
LPVOID lpParameter // thread data
);
DWORD WINAPI Fun2Proc(
LPVOID lpParameter // thread data
);
void main()
{
int index=0;
HANDLE hThread1;
HANDLE hThread2;
hThread1=CreateThread(NULL,0,Fun1Proc,NULL,0,NULL);
hThread2=CreateThread(NULL,0,Fun2Proc,NULL,0,NULL);
CloseHandle(hThread1);
CloseHandle(hThread2);
while (index++<1000)
cout<<"main Thread is running!"<<endl;
Sleep(10);
}
DWORD WINAPI Fun1Proc(
LPVOID lpParameter // thread data
)
{
int index=0;
while (index++<1000)
cout<<"Thread1 is running!"<<endl;
return 0;
}
DWORD WINAPI Fun2Proc(
LPVOID lpParameter // thread data
)
{
int index=0;
while (index++<1000)
cout<<"Thread2 is running!"<<endl;
return 0;
}
说点题外话,今天是8月8日.距离北京奥运会开幕还有整整一年时间.祝福北京!祝福世界!