windows c语言创建线程
时间: 2023-07-26 07:18:47 浏览: 123
在 Windows 平台上,可以使用以下步骤创建线程:
1. 引入头文件
```c
#include <windows.h>
```
2. 定义线程函数
```c
DWORD WINAPI myThread(LPVOID lpParameter) {
// 线程执行的代码
return 0;
}
```
3. 创建线程
```c
HANDLE hThread;
DWORD threadId;
hThread = CreateThread(NULL, 0, myThread, NULL, 0, &threadId);
```
其中,`CreateThread` 函数的第一个参数为线程安全属性,第二个参数为堆栈大小,第三个参数为线程函数,第四个参数为传递给线程函数的参数,第五个参数为标志,第六个参数为输出线程 ID。
4. 等待线程结束并关闭句柄
```c
WaitForSingleObject(hThread, INFINITE);
CloseHandle(hThread);
```
其中,`WaitForSingleObject` 函数用于等待线程结束,`CloseHandle` 函数用于关闭线程句柄。
完整的示例代码如下:
```c
#include <windows.h>
#include <stdio.h>
DWORD WINAPI myThread(LPVOID lpParameter) {
printf("Thread is running...\n");
return 0;
}
int main() {
HANDLE hThread;
DWORD threadId;
hThread = CreateThread(NULL, 0, myThread, NULL, 0, &threadId);
if (hThread == NULL) {
printf("CreateThread failed, error code: %d\n", GetLastError());
return -1;
}
WaitForSingleObject(hThread, INFINITE);
CloseHandle(hThread);
return 0;
}
```
阅读全文