在C語言中,beginthread
函數用于創建一個新的線程。它的使用方法如下:
#include <process.h>
unsigned __stdcall threadFunc(void* arg)
{
// 線程的邏輯代碼
return 0;
}
int main()
{
// 創建一個新的線程
unsigned threadID;
uintptr_t handle = _beginthreadex(NULL, 0, threadFunc, NULL, 0, &threadID);
if (handle == -1)
{
// 創建線程失敗
printf("Failed to create thread\n");
return 1;
}
// 等待線程結束
WaitForSingleObject((HANDLE)handle, INFINITE);
// 關閉線程句柄
CloseHandle((HANDLE)handle);
return 0;
}
以上代碼中,threadFunc
是線程的邏輯代碼,通過_beginthreadex
函數創建新的線程。_beginthreadex
函數的參數依次為:線程安全屬性(通常為NULL),堆棧大小(通常為0,表示使用默認堆棧大小),線程函數(線程的入口點),傳遞給線程函數的參數,創建標志(0表示立即創建線程),線程ID(用于返回新線程的ID)。
創建線程后,可以使用WaitForSingleObject
函數等待線程結束,然后使用CloseHandle
函數關閉線程句柄。