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;
}