a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 122|回复: 0

[C++] C++CreateThread参数具体应用问题解答

[复制链接]
发表于 2012-7-31 21:56:58 | 显示全部楼层 |阅读模式
在这篇文章中,我们会为大家详细推出C++ CreateThread参数的具体应用方法,以帮助大家能够从中获得一些帮助,提高编程效率。那么接下来就让我们一起来看看C++ CreateThread参数的正确使用方法吧。7 D9 d1 c2 J# D. D
  项目是VS2003下的,用到了CreateThread函数,看到网上说不应该调用CreateThread,而应该使用_beginthreadex。因为刚好用到了,就还是写一下CreateThread中参数的使用方法。
7 z9 F* G. z; {, e  先定义要传递的C++ CreateThread参数结构体:
1 [0 A0 q9 u# c/ [8 f  typedef struct SParam$ {% b! t" _' L; b4 ?
  {
/ ]: W; [6 c* r! j1 {3 K1 O  int No;
2 k) T0 A3 W$ t8 c  unsigned short chnlID;
8 b/ Y" z; a1 S2 J  unsigned short sessionID;' }7 z  x# K3 _
  }- F0 Y  J/ C4 K- c; x; K" A. F8 n
  uParam,*sParam;
# A3 B- p/ S, M3 @* b& C# [  DWORD WINAPI AccountManager
0 T2 l" n2 U- x) O" K  (PVOID pParam);7 C! |) X( v* Y% {9 M  I! Z3 j# x' T
  void main()
8 F) [6 d0 _& k+ T  {  DWORD dwThreadId;
+ G7 V3 Q  u" r6 `& d+ e3 K  HANDLE hThrd = NULL;
. B) x# y3 n5 X  // thread handle  SParam sparam;' M' b- b7 Y: ]
  SParam *p;  sparam.No = 1;
3 @  Y# f: V- ^9 d( k3 X# |( B  sparam.chnlID = 1;
! W+ C/ O' {6 k1 F6 x/ W& j. g  sparam.sessionID = 1;
2 y1 U" J7 H: [! r  p = &sparam;
- s. p. m& y% [- _  hThrd = (HANDLE)CreateThread(NULL,  0,  AccountManager,  p,  0,  dwThreadId;
1 }3 x8 L4 I& J" \  }
2 s8 F8 a2 I7 o8 K4 f. V' f5 Z  DWORD WINAPI AccountManager(PVOID pParam); d# s( s0 S% E* Y
  {  sParam sparam;$ y, r/ N6 R3 Q7 a2 Y( F5 H$ `* |- ]. h
  sparam = (sParam)pParam;
( C" w4 r, c; s9 M& m6 G( K. S  try% g4 B0 Y) H! w9 }
  {  /*Run为自己写的一个方法,Run(int i,unsigned short chnlID,unsigned short sessionID)*/2 T+ J3 L; Z2 b. ]
  Run(sparam->No,sparam->chnlID,sparam->sessionID);6 S* L: J1 D: v" o% l
  }  catch (...)- k; H- R9 [6 w; Y8 y
  {  logger.error("AccountManager(%d): System error.\r\n", threadId);1 {+ |6 _* C8 Z5 J& X" _0 R
  }
4 U, w) T. c: k' m% f6 o  }
0 J+ {8 S  e9 q% c, ?  大体意思是这样,C++ CreateThread参数代码仅供参考。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-5 01:36 , Processed in 0.171514 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表