C++CreateThread参数具体应用技巧解析

2014-10-24 12:30:04 · 作者: · 浏览: 59

  在这篇文章中,我们会为大家详细推出C++ CreateThread参数的具体应用方法,以帮助大家能够从中获得一些帮助,提高编程效率。那么接下来就让我们一起来看看C++ CreateThread参数的正确使用方法吧。


  项目是VS2003下的,用到了CreateThread函数,看到网上说不应该调用CreateThread,而应该使用_beginthreadex。因为刚好用到了,就还是写一下CreateThread中参数的使用方法。


  先定义要传递的C++ CreateThread参数结构体:


  typedef struct SParam


  {


  int No;


  unsigned short chnlID;


  unsigned short sessionID;


  }


  uParam,*sParam;


  DWORD WINAPI AccountManager


  (PVOID pParam);


  void main()


  { DWORD dwThreadId;


  HANDLE hThrd = NULL;


  // thread handle SParam sparam;


  SParam *p; sparam.No = 1;


  sparam.chnlID = 1;


  sparam.sessionID = 1;


  p = &sparam;


  hThrd = (HANDLE)CreateThread(NULL, 0, AccountManager, p, 0, dwThreadId;


  }


  DWORD WINAPI AccountManager(PVOID pParam)


  { sParam sparam;


  sparam = (sParam)pParam;


  try


  { /*Run为自己写的一个方法,Run(int i,unsigned short chnlID,unsigned short sessionID)*/


  Run(sparam->No,sparam->chnlID,sparam->sessionID);


  } catch (...)


  { logger.error("AccountManager(%d): System error.\r\n", threadId);


  }


  }


  大体意思是这样,C++ CreateThread参数代码仅供参考。


  编辑特别推荐: