多线程编程
使用createthread需要提供LPTHREAD_START_ROUTINE线程函数,线程函数的签名为 void (*) (void * lpParam)
对于类静态函数或者全局函数,需要在LPTHREAD_START_ROUTINE强制定义ThreadProc
类静态函数:需要(LPTHREAD_START_ROUTINE)Class::StaticFunction
全局函数:需要(LPTHREAD_START_ROUTINE)GlobalFunction
createthread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadProc, pParam, 0, &threadId); 立即执行ThreadProc
createthread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadProc, pParam, CREATE_SUSPENDED, &threadId); Suspend线程
创建完需要使用CloseHandle函数来释放
使用WaitForSingleObject来在主调线程中等待子线程结束。
使用_beginthreadex来
本文介绍了多线程编程的基础知识,包括如何使用createthread创建线程,并提供了线程函数签名的示例。此外还讲解了如何通过不同参数控制线程的启动状态,如立即执行或挂起状态,以及如何使用CloseHandle进行资源释放和使用WaitForSingleObject等待线程结束。
1312

被折叠的 条评论
为什么被折叠?



