class CThreadPool
{
public: template <typename T>
static void QueueUserWorkItem(void (T::*function)(void),
T *object, ULONG flags = WT_EXECUTELONGFUNCTION)
{
typedef std::pair<void (T::*)(), T *> CallbackType;
std::auto_ptr<CallbackType> p(new CallbackType(function, object)); if (::QueueUserWorkItem(ThreadProc<T>, p.get(), flags))
{
// The ThreadProc now has the responsibility of deleting the pair.
p.release();
}
else
{
throw GetLastError();
}
} private: template <typename T>
static DWORD WINAPI ThreadProc(PVOID context)
{
typedef std::pair<void (T::*)(), T *> CallbackType; std::auto_ptr<CallbackType> p(static_cast<CallbackType *>(context)); (p->second->*p->first)();
return ;
}
};

https://code.msdn.microsoft.com/vstudio/CppWindowsService-cacf4948/sourcecode?fileId=21604&pathId=1789278805

最新文章

  1. Python debug
  2. memset函数
  3. hdu4975 A simple Gaussian elimination problem.(正确解法 最大流+删边判环)(Updated 2014-10-16)
  4. atitit.短信&#160;验证码&#160;&#160;破解&#160;&#160;v3&#160;p34&#160;&#160;识别&#160;绕过&#160;系统方案规划----业务相关方案&#160;手机验证码&#160;&#160;.doc
  5. windows bat脚本编写
  6. 用QT创建WINDOWS服务程序
  7. sql优化__rownum的使用【转】
  8. elasticsearch系列(四)部署
  9. chorme浏览器的Access-Control-Allow-Origin拦截限制
  10. python学习之路前端-CSS
  11. Solr 01 - 什么是Solr + Solr安装包目录结构说明
  12. Git基本命令整理
  13. scrapy 之自定义命令运行所有爬虫文件
  14. 前后端分离的利器:fiddler的实用功能举例
  15. linux 英汉词典程序shell+postgresql版
  16. phpmyadmin连接MySQL服务器被拒绝
  17. java学习笔记-JavaWeb篇二
  18. for 续3
  19. 【Foreign】划分序列 [线段树][DP]
  20. Eclipse 创建 Java 包

热门文章

  1. hdu 5437 Alisha’s Party 模拟 优先队列
  2. 转--C++学习笔记(原创)
  3. android之location01
  4. android之Widget01
  5. 清除xcode里面的mobileprovision文件
  6. Scroll滚动后发生的改变
  7. js中使用s(c)标签
  8. 将access数据库导入mysql
  9. [Flex] IFrame系列 —— 在flex的web应用中嵌入html的方法
  10. 前后台彻底分离的核心文件bridge.js.