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

avatar
作者
筋斗云
阅读量:0

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

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

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

#include  #include  #include   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平台上可用,如果要在不同平台上创建线程,需要使用相应的线程创建函数。

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!