Roger Luo

超越梦想一起飞
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

C++ windows multithread 多线程编程(一)

Posted on 2012-11-23 17:42  Roger Luo  阅读(793)  评论(0编辑  收藏  举报
多线程编程

使用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来