#include
#include"stdlib.h"
#include
#include"windows.h"
using namespace std;
DWORD WINAPI threadfun(LPVOID pParam)
{
int count=*(int*)pParam;
printf("count:%d",count);
Sleep(1000);
return 0;
}
const int THREAD_NUM=10;
int main()
{
HANDLE handle[10];
int i=0;
while(i<10)
{
cout<<i;
handle[i]=(HANDLE)::CreateThread(NULL,0,threadfun,(LPVOID)&i,0,(LPDWORD)&i);
i++;
}
WaitForMultipleObjects(THREAD_NUM,handle,TRUE,INFINITE);
system("pause");
return 0;
}
不知道为啥一运行局部变量i就会变成一个未知的数。。是因为主线程改变了还是子线程的问题,导致每次都会有数组越界。。