程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C++ CreateThread參數具體應用技巧解析

C++ CreateThread參數具體應用技巧解析

編輯:C++入門知識

在這篇文章中,我們會為大家詳細推出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. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved