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

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

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

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

 
 
 
  1. typedef struct SParam  
  2. {  
  3. int No;  
  4. unsigned short chnlID;  
  5. unsigned short sessionID;  
  6. }uParam,*sParam;  
  7. DWORD WINAPI AccountManager(PVOID pParam);  
  8. void main()  
  9. {  
  10. DWORD dwThreadId;  
  11. HANDLE hThrd = NULL; // thread handle  
  12. SParam sparam;  
  13. SParam *p;  
  14. sparam.No = 1;  
  15. sparam.chnlID = 1;  
  16. sparam.sessionID = 1;  
  17. p = &sparam;  
  18. hThrd = (HANDLE)CreateThread(NULL,  
  19. 0,  
  20. AccountManager,  
  21. p,  
  22. 0,  
  23. dwThreadId;  
  24. }  
  25. DWORD WINAPI AccountManager(PVOID pParam)  
  26. {  
  27. sParam sparam;  
  28. sparam = (sParam)pParam;  
  29. try  
  30. {  
  31. /*Run为自己写的一个方法,Run(int i,unsigned short 
    chnlID,unsigned short sessionID)*/  
  32. Run(sparam->No,sparam->chnlID,sparam->sessionID);  
  33. }  
  34. catch (...)  
  35. {  
  36. logger.error("AccountManager(%d): System error.\r\n", threadId);  
  37. }  

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

【编辑推荐】

  1. C++托管程序实现安全管理
  2. C++文件拷贝应用技巧探讨
  3. C++ kmp算法模板代码解读
  4. C++ assert()函数应用方式剖析
  5. C++ Memento模式应用法则
THE END