线程池我修正的源码 MFC

来源:互联网 发布:微信骰子软件 编辑:程序博客网 时间:2024/05/16 14:19

线程池我修正的源码 MFC

http://blog.csdn.net/lwklchj/archive/2005/09/01/469775.aspx

 

修正了关于句柄在没用设定情况下是否有效,改了些代码加了些注释。

www.lwkl.net/threadpool.rar 来下,这个线程池应该很好用,老规矩如果发现什么错误请告知。

主要修正的引出这样一个MFC问题

当你用AfxBeginThread后,你的线程HANDLE是不可得知的,你不能像SDK那样直接等待这个HANDLE

而可以如下所做

  CWinThread* pWinThread = AfxBeginThread((AFX_THREADPROC)WorkerProc,
   this,
   THREAD_PRIORITY_NORMAL,
   0,
   CREATE_SUSPENDED);
  //设置为手动删除
  pWinThread->m_bAutoDelete = FALSE;
 这样你就可以WaitForSingleObject(pWinThread->m_hThread)了

但你下次要释放的时候必须要自己delete 这个pWinThread

这样,在涉及到此程序的时候我发现又不能在线程里进行delete pWinThread,所以我讲工作又交给管理线程来delete的。还有些线程资源保护问题,不过我到现在不是很明白他为什么要保护START和STOP函数。

还有的大家看代码吧:)有问题联系请联系。

原创粉丝点击