Windows API 函数CreateThread 在调用它的进程的空间中创建了一个新的线程,其创建的线程不区分工作者线程或者用户界面线程,只需要知道线程的开始地址以便开始执行即可。
它的函数原型如下:
HANDLE CreateThread(
LPSECURITY_ATTRIBUTES lpThreadAttributes, //线程的安全属性
DWORD dwStackSize, //线程堆栈空间的大小
LPTHREAD_START_ROUTINE lpStartAddress, //指向线程运行函数地址的指针
LPVOID lpParameter, //传递给线程运行函数的参数
DWORD dwCreationFlags, //指定附加的、用来控制优先类和线程的创建的标志
LPDWORD lpThreadId //返回的线程的ID
);
//创建、使用线程的小例子
#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
UINT PrintfHello(LPVOID lpParam);
int main(int argc, char* argv[])
{
DWORDThreadID;
printf("ProcessPrintf: Hello World!\n");
CreateThread(NULL,0, (LPTHREAD_START_ROUTINE)PrintfHello,0,NULL,&ThreadID);
getchar();
return0;
}
UINT PrintfHello(LPVOID lpParam)
{
printf("ThreadPrintf: Hello World!\n");
return0;
}