CreateThread()用法
时间: 2023-08-18 13:09:34 浏览: 82
create thread用法
CreateThread() 的用法如下:
1. 引入头文件:
```c++
#include <windows.h>
```
2. 定义线程函数:
```c++
DWORD WINAPI ThreadFunc(LPVOID lpParam)
{
// 线程的具体逻辑
return 0;
}
```
3. 在主函数或其他线程中调用 CreateThread() 函数创建新线程:
```c++
int main()
{
// 创建线程
HANDLE hThread;
DWORD dwThreadId;
hThread = CreateThread(NULL, 0, ThreadFunc, NULL, 0, &dwThreadId);
// 检查线程创建是否成功
if (hThread == NULL)
{
// 线程创建失败,处理错误
return 1;
}
// 等待线程执行完毕
WaitForSingleObject(hThread, INFINITE);
// 关闭线程句柄
CloseHandle(hThread);
return 0;
}
```
在调用 CreateThread() 函数时,需要传入相应的参数,如上述代码所示:
- `NULL` 表示使用默认的线程安全属性;
- `0` 表示使用默认的线程堆栈大小;
- `ThreadFunc` 是线程函数的地址;
- `NULL` 表示不传递参数给线程函数;
- `0` 表示使用默认的线程创建标志;
- `&dwThreadId` 是用于接收新线程标识符的变量的地址。
注意,在创建线程后,可以使用 WaitForSingleObject() 函数等待新线程执行完毕。然后,使用 CloseHandle() 函数关闭线程句柄,以释放相关资源。
需要注意的是,线程函数的返回值应为 `DWORD` 类型,表示线程的退出代码。
阅读全文