在C++中,CreateThread
是一個Windows API函數,用于創建一個新線程。它的用法如下:
#include <Windows.h>
DWORD WINAPI ThreadFunction(LPVOID lpParam) {
// 線程執行的代碼邏輯
return 0;
}
int main() {
// 創建線程
HANDLE hThread = CreateThread(
NULL, // 默認安全屬性
0, // 默認堆棧大小
ThreadFunction, // 線程函數
NULL, // 傳遞給線程函數的參數
0, // 默認創建線程立即運行
NULL // 不返回線程ID
);
if (hThread == NULL) {
// 線程創建失敗的處理邏輯
}
// 等待線程結束
WaitForSingleObject(hThread, INFINITE);
// 關閉線程句柄
CloseHandle(hThread);
return 0;
}
在上面的代碼中,CreateThread
函數創建了一個新的線程,該線程的入口點是ThreadFunction
函數。CreateThread
函數的第一個參數是安全屬性,第二個參數是堆棧大小,第三個參數是線程函數,它接受一個LPVOID
類型的參數,可以傳遞給線程函數。第四個參數是傳遞給線程函數的參數,第五個參數是線程創建后是否立即運行,第六個參數是一個指向線程ID的指針,如果不需要獲取線程ID,可以設置為NULL。CreateThread
函數返回一個線程句柄,用于后續操作。
在主函數中,我們使用WaitForSingleObject
函數等待線程結束,然后使用CloseHandle
函數關閉線程句柄,釋放資源。
需要注意的是,CreateThread
函數創建的線程是Windows特定的線程,與C++標準庫中的線程不同。如果你要使用C++標準庫中的線程,可以使用std::thread
類來創建和管理線程。