阅读量:0
_beginthreadex
是 Windows API 函数,用于创建一个新的线程。它可以提高程序的响应速度,因为它允许程序在后台执行耗时任务,从而避免阻塞主线程。以下是如何使用 _beginthreadex
的一个简单示例:
#include <iostream> #include <windows.h> // 线程函数 unsigned int WINAPI ThreadFunction(void* lpParam) { // 在这里执行耗时任务 for (int i = 0; i < 10; ++i) { std::cout << "Thread is running. Count: "<< i << std::endl; Sleep(100); // 模拟耗时操作 } return 0; } int main() { // 创建一个新线程 HANDLE hThread = (HANDLE)_beginthreadex(NULL, 0, ThreadFunction, NULL, 0, NULL); if (hThread == NULL) { std::cerr << "Failed to create thread." << std::endl; return 1; } // 主线程继续执行其他任务或处理用户输入 for (int i = 0; i < 10; ++i) { std::cout << "Main thread is running. Count: "<< i << std::endl; Sleep(100); // 模拟耗时操作 } // 等待子线程结束 WaitForSingleObject(hThread, INFINITE); // 关闭线程句柄 CloseHandle(hThread); std::cout << "Program finished." << std::endl; return 0; }
在这个示例中,我们创建了一个新线程来执行 ThreadFunction
,而主线程继续执行其他任务。这样可以提高程序的响应速度,因为主线程不会被耗时任务阻塞。