代码如下:
//ThreadPro.cpp
#include <Windows.h>
#include <process.h>
#include <iostream>
#include <cstdlib>
using namespace std;
struct ThreadInfo
{
int param;
char sex;
}Info;
unsigned _stdcall ThreadProc( LPVOID pInfo)
{
ThreadInfo * Info = (ThreadInfo*)pInfo;
int count = Info->param;
for(int i=0; i<count; i++)
{
cout<<"_beginthreadex create thread"<<endl;
cout<<"The Thread ID is "<<GetCurrentThreadId()<<endl;
cout<<"The paramter is "<<Info->param<<":"<<Info->sex<<endl;
Beep(500,500);
}
return 0;
}
int main()
{
HANDLE handle;
DWORD ThreadID;
Info.param = 5;
Info.sex = 'l';
handle = (HANDLE)_beginthreadex(NULL, 0, &ThreadProc, (LPVOID)&Info, 0, (unsigned *)&ThreadID);
if (handle == NULL)
{
cout<<"create thread failed"<<endl;
system("pause");
return 0;
}
WaitForSingleObject(handle, INFINITE);
cout<<"Thread is over"<<endl;
CloseHandle(handle);
system("pause");
return 0;
}
如上所述,对于多个参数,可以定义在结构体内,进行传递。