主函数如何获得返回子函数的值?(子函数有线程,返回值是从线程里获得)

wenyongjie 2010-01-21 09:27:40
主函数MainFun,调用子函数ChildFun,

ChildFun函数里有一个线程,结构如下:



线程函数 DWORD WINAPI ThreadProc(LPVOID lpParameter)
{
char *str=char (lpParameter) ;
........
}

void ChildFun(char *str)
{
.....
::CreateThread ( NULL, 0, ThreadProc, LPVOID(str), 0, &dwThreadID );//调用线程函数,并在线程中最终取得str的值

}

主函数调用
void MainFun(char *str)
{
ChildFun(str);//获得得str后才往下执行,就这一步不知如何处理,因为子函数内有线程,所以调用ChildFun后程序直接往下走了

。。。。。

......
}
...全文
335 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunyang500 2012-10-22
  • 打赏
  • 举报
回复
我没明白啊。。。楼主说清楚点啊。。。
wenyongjie 2010-01-21
  • 打赏
  • 举报
回复
谢谢大家,明白了
Eleven 2010-01-21
  • 打赏
  • 举报
回复
GetExitCode(HANDLE)
djjs280 2010-01-21
  • 打赏
  • 举报
回复
这种情况还不如把线程做成函数,反正都要等待它结束才往下执行
dong364 2010-01-21
  • 打赏
  • 举报
回复
在void ChildFun(char *str) 的::CreateThread 后添加WaitForSingleObject(...)等待子线程结束
wenyongjie 2010-01-21
  • 打赏
  • 举报
回复
写个结构看看啊,俺初学,不太明白呢,谢谢
marrco2005 2010-01-21
  • 打赏
  • 举报
回复
线程同步

15,471

社区成员

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

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