线程如何传递多个参数

caitian6 2006-04-25 04:46:48
AfxBeginThread( AFX_THREADPROC pfnThreadProc, LPVOID pParam, int nPriority = THREAD_PRIORITY_NORMAL, UINT nStackSize = 0, DWORD dwCreateFlags = 0, LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL );
如何传递多个参数?
用pParam只能传递一个吧?


...全文
155 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
caitian6 2006-04-26
  • 打赏
  • 举报
回复
谢谢了.
dasiu 2006-04-26
  • 打赏
  • 举报
回复
自定义结构,将指针传入Pparam
windcsn 2006-04-26
  • 打赏
  • 举报
回复
复杂数据结构的指针
DentistryDoctor 2006-04-25
  • 打赏
  • 举报
回复
对,定义一个结构,用来包装多个参数。

Person objPerson;
objPerson.name = "xxx";
objPerson.age = 23;
objPerson.sex = female;
这种方法显然是不行的。
因为objPerSon是放在栈上的,到线程真正执行起来时,可能objPerson对象已经不存在了。
要么用全态变量或静态变量,要么从堆上分配。
贵子潘 2006-04-25
  • 打赏
  • 举报
回复

举个例子:
typedef struct person
{
char *name;
int age;
int sex;
}Person;
Person objPerson;
objPerson.name = "xxx";
objPerson.age = 23;
objPerson.sex = female;
AfxBeginThread( pfnThreadProc, (LPVOID)&objPerson, ... );

线程函数里:
....
Person *pPerson = (Person*)objPerson;

....
handsomerun 2006-04-25
  • 打赏
  • 举报
回复
嗯,自定义结构~~~
cpio 2006-04-25
  • 打赏
  • 举报
回复
你可以自己定义一个结构或者类

把结构或类的指针当参数传进去

里面再转换一个,想要什么就有什么了

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧