温馨提示×

C语言中beginthread怎么使用

小亿
133
2023-07-11 19:44:50
栏目: 编程语言

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

0