使用系统调用CreateThread()创建一个子线程,并在子线程中显示:Thread is Running!。为了能让用户清楚地看到线程的运行情况,使用Sleep()使线程挂起5秒,之后使用ExitThread()撤销线程。
时间: 2024-10-27 12:10:03 浏览: 51
在Windows平台上,你可以使用`CreateThread`函数通过系统调用来创建一个新的子线程。这个函数通常包含在头文件`windows.h`中。下面是一个简单的示例代码片段,展示了如何在C++中实现这个功能:
```cpp
#include <windows.h>
#include <iostream>
DWORD WINAPI ThreadFunction(LPVOID lpParam) {
std::cout << "Thread is Running!\n";
Sleep(5000); // 挂起5秒钟,相当于5000毫秒
std::cout << "Exiting thread...\n";
ExitThread(0); // 使用ExitThread结束线程并返回一个终止代码
return 0; // 这一行通常不会被执行,因为线程已经退出
}
int main() {
HANDLE hThread = CreateThread(NULL, // 不使用堆栈信息
0, // 默认大小
ThreadFunction, // 线程函数指针
NULL, // 线程参数
0, // 标志,一般设置为0
NULL); // 不需要线程ID
if (hThread == NULL) {
std::cerr << "Failed to create thread.\n";
return 1;
}
// 主线程继续执行...
// 等待子线程完成
DWORD exitCode;
GetExitCodeThread(hThread, &exitCode);
CloseHandle(hThread);
return 0;
}
```
在这个例子中,`ThreadFunction`是线程的入口点,`CreateThread`函数创建了一个新线程,并将该函数作为线程的目标。`Sleep`函数让线程暂停一段时间,然后`ExitThread`函数用于优雅地结束线程。
阅读全文
相关推荐


















