C++多线程传参,CreateThread参数的使用方法

http://blog.csdn.net/beyondhaven/article/details/5096605

项目是VS2003下的,用到了CreateThread函数,看到网上说不应该调用CreateThread,而应该使用_beginthreadex。因为刚好用到了,就还是写一下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.   
  13.     SParam sparam;  
  14.     SParam *p;  
  15.   
  16.     sparam.No = 1;  
  17.     sparam.chnlID = 1;  
  18.     sparam.sessionID = 1;  
  19.     p = &sparam;  
  20.   
  21.             hThrd = (HANDLE)CreateThread(NULL,  
  22.                 0,  
  23.                 AccountManager,  
  24.                 p,  
  25.                 0,  
  26.                dwThreadId;  
  27. }  
  28.   
  29. DWORD WINAPI  AccountManager(PVOID pParam)  
  30. {  
  31.     sParam sparam;  
  32.     sparam = (sParam)pParam;  
  33.   
  34.     try  
  35.     {  
  36.           /*Run为自己写的一个方法,Run(int i,unsigned short chnlID,unsigned short sessionID)*/  
  37.           Run(sparam->No,sparam->chnlID,sparam->sessionID);  
  38.     }  
  39.     catch (...)  
  40.     {  
  41.         logger.error("AccountManager(%d): System error./r/n", threadId);  
  42.     }  
  43.       
  44. }  


大体意思是这样,代码仅供参考。 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值