CreateThread函數是Windows操作系統提供的用于創建線程的函數,在C語言中使用。
其函數原型為:
HANDLE CreateThread(
LPSECURITY_ATTRIBUTES lpThreadAttributes,
SIZE_T dwStackSize,
LPTHREAD_START_ROUTINE lpStartAddress,
LPVOID lpParameter,
DWORD dwCreationFlags,
LPDWORD lpThreadId
);
參數說明:
CreateThread函數返回一個線程的句柄(HANDLE類型),可以通過此句柄對線程進行操作。
使用CreateThread函數創建線程的基本步驟如下:
示例代碼:
#include <stdio.h>
#include <windows.h>
DWORD WINAPI threadFunc(LPVOID lpParam) {
printf("Hello from thread!\n");
return 0;
}
int main() {
HANDLE hThread;
DWORD threadId;
hThread = CreateThread(NULL, 0, threadFunc, NULL, 0, &threadId);
if (hThread == NULL) {
printf("Failed to create thread.\n");
return 1;
}
printf("Thread created with ID: %d\n", threadId);
// ... 其他操作
WaitForSingleObject(hThread, INFINITE);
CloseHandle(hThread);
return 0;
}
以上示例代碼中,調用CreateThread函數創建了一個線程,并通過WaitForSingleObject函數等待線程結束。