c++中的createthread函数怎么使用

   2024-10-15 4710
核心提示:在C++中,可以使用_beginthreadex函数来创建线程,该函数的原型如下:uintptr_t _beginthreadex( void *security, unsigned stac

在C++中,可以使用_beginthreadex函数来创建线程,该函数的原型如下:

uintptr_t _beginthreadex(   void *security,   unsigned stack_size,   unsigned ( __stdcall *start_address )( void * ),   void *arglist,   unsigned initflag,   unsigned *thrdaddr);

下面是一个简单的示例代码,演示如何使用_beginthreadex函数创建线程:

#include <iostream>#include <windows.h>#include <process.h>unsigned int __stdcall myThread(void* data) {    for (int i = 0; i < 5; i++) {        std::cout << "Thread running" << std::endl;        Sleep(1000);    }    return 0;}int main() {    HANDLE threadHandle = (HANDLE)_beginthreadex(NULL, 0, myThread, NULL, 0, NULL);    if (threadHandle == 0) {        std::cerr << "Failed to create thread." << std::endl;        return 1;    }    WaitForSingleObject(threadHandle, INFINITE);    CloseHandle(threadHandle);        return 0;}

在上面的示例代码中,_beginthreadex函数用于创建一个新线程,传入的参数分别为线程安全性参数、栈大小、线程函数、传递给线程函数的参数、初始化标志以及用于存储线程ID的地址。在main函数中,创建了一个新线程,并等待线程执行完毕后关闭线程句柄。

请注意,_beginthreadex函数仅在Windows平台上可用,如果要在不同平台上创建线程,需要使用相应的线程创建函数。

 
举报打赏
 
更多>同类维修大全
推荐图文
推荐维修大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号