HANDLE CreateThread(
LPSECURITY_ATTRIBUTES lpThreadAttributes, // 表示线程的安全属性,可以为NULL
DWORD dwStackSize, // 表示县城栈的最大大小,可以为0 ,忽略
LPTHREAD_START_ROUTINE lpStartAddress, // 表示线程函数,当线程运行时,执行该函数
LPVOID lpParameter, // 表示向线程函数传递的参数
DWORD dwCreationFlags, // 表示线程创建的标记,为CREATE_SUSPENDED,表示线程创建后立即被挂起,只有在其后调用ResumeThread函数时才 开始被执行;为STACK_SIZE_PARAM_IS_A_RESERVATION,表示dwStackSize参数不被忽略。
LPDWORD lpThreadId // 表示一个整型指针,用于接收线程ID,如果该参数为NULL,表示线程ID不被返回。
);
返回值:如果执行成功,返回线程句柄,否则返回NULL
2._beginthread;DWORD WINAPI ThreadProc(LPVOID lpParameter );
unsigned long _beginthread( void( __cdecl *start_address )( void * ), unsigned stack_size, void *arglist );
unsigned long _beginthreadex( void *security, //表示线程的安全信息,如果为NULL,表示线程句柄不被子进程继承
unsigned stack_size, // 表示线程的栈大小,可以为0
unsigned ( __stdcall *start_address )( void * ), //表示线程函数,线程运行时将执行该函数
void *arglist, //表示传递到线程函数中的参数
unsigned initflag, // 表示线程的初始化标记,为0,表示线程立即执行线程函数;为CREATE_SUSPENDED表示线程暂 时被挂起
unsigned *thrdaddr //表示一个整型指针,用于返回线程ID
);
unsigned int _stdcall ThreadProc(LPVOID lpParameter);
3.AfxBeginThread;
CWinThread* AfxBeginThread( AFX_THREADPROC pfnThreadProc, //表示线程函数指针
LPVOID pParam, //表示线程函数的参数
int nPriority = THREAD_PRIORITY_NORMAL, //表示线程的优先级
UINT nStackSize = 0, //表示线程堆栈的大小
DWORD dwCreateFlags = 0, //表示线程的创建标记
LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL //表示线程的安全属性
);
CWinThread* AfxBeginThread( CRuntimeClass* pThreadClass, int nPriority = THREAD_PRIORITY_NORMAL, UINT nStackSize = 0, DWORD dwCreateFlags = 0, LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL );
UINT ControllingFunction(LPVOID pThreadParam);