a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 72|回复: 0

[C++] C++CreateThread参数具体应用方法解析

[复制链接]
发表于 2012-7-31 21:56:58 | 显示全部楼层 |阅读模式
在这篇文章中,我们会为大家详细推出C++ CreateThread参数的具体应用方法,以帮助大家能够从中获得一些帮助,提高编程效率。那么接下来就让我们一起来看看C++ CreateThread参数的正确使用方法吧。
& F- U3 _) c. t+ U  项目是VS2003下的,用到了CreateThread函数,看到网上说不应该调用CreateThread,而应该使用_beginthreadex。因为刚好用到了,就还是写一下CreateThread中参数的使用方法。$ B$ W0 N3 g" T8 T! h
  先定义要传递的C++ CreateThread参数结构体:4 k1 H+ k; I8 p: [' d& d: t/ `
  typedef struct SParam3 x, y8 I% p+ g1 d5 f9 ~& p
  {% S, A2 i9 \2 n8 X- [
  int No;7 w3 y  C! t: r$ R
  unsigned short chnlID;# I! K; P% ]3 ]" a
  unsigned short sessionID;
. G6 U4 ?2 d. {0 r/ K. K; i8 o  }
9 q# r$ D& e& g! S' ~( l- |  uParam,*sParam;
7 s- F+ j8 {9 n( s8 v  DWORD WINAPI AccountManager- b( E$ r) U) a9 P/ _5 |4 m* M
  (PVOID pParam);7 i+ u3 J& G0 r/ k" t
  void main()
0 ^6 y) h2 x( R; e, ?  \, u! t1 c  {  DWORD dwThreadId;
! l2 L; ]* S2 `0 A) U  HANDLE hThrd = NULL;
: M* E. Z0 S3 ]$ M" I0 z  // thread handle  SParam sparam;! j* k9 U9 f0 P
  SParam *p;  sparam.No = 1;
$ z2 m9 Y2 p' h+ ~' H1 ^- z  sparam.chnlID = 1;4 o: f# l& U8 K" I2 L7 j
  sparam.sessionID = 1;
+ C; I7 `* ~1 F8 i! U6 l, j  p = &sparam;9 L  L! w2 m  l5 a& X
  hThrd = (HANDLE)CreateThread(NULL,  0,  AccountManager,  p,  0,  dwThreadId;5 F2 s4 B4 m! Y
  }& ]% {# l$ }7 f: R
  DWORD WINAPI AccountManager(PVOID pParam)  G1 `3 {' K9 k; V8 A* l1 G
  {  sParam sparam;
5 {% U5 \/ l+ s0 s  sparam = (sParam)pParam;
# E3 N% I: g; ?# b7 n5 `; q  try
$ T/ H  c2 n; P; _- j* f, `$ e" T  {  /*Run为自己写的一个方法,Run(int i,unsigned short chnlID,unsigned short sessionID)*// R. B; B4 M$ r: \/ y" |3 c
  Run(sparam->No,sparam->chnlID,sparam->sessionID);1 T5 a3 C+ B1 `. \+ U" L
  }  catch (...)- U, |, ~% b# h1 E2 y7 X
  {  logger.error("AccountManager(%d): System error.\r\n", threadId);6 k. y6 Y% |* K+ N- r4 }
  }* f, \  F9 V% \3 ]1 w
  }; K" E* ]1 z9 g: r9 S' C
  大体意思是这样,C++ CreateThread参数代码仅供参考。
回复

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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