在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
函数关闭线程句柄。