线程内部抛出异常问题:

天才小痴 2011-01-10 11:13:03
程序伪代码:
unsigned __stdcall ThreadFun( void *pParam)
{
int a = 0;
try{
if(case)
{
a = fun1();
}
else
{
a = fun2();
}
if(1 != a)
{
return -1;
}
}
catch
{
return -1;
}
return 0;
}
函数fun1,fun2返回值0和1。
创建线程1,case为真,这是fun1抛出异常,被catch掉。再创建线程2,case为假,这是线程三个出口都没有走到。
请高手给分析一下:多谢了。
...全文
68 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
天才小痴 2011-01-12
  • 打赏
  • 举报
回复
没有好的答案,就把分数给你了!
天才小痴 2011-01-11
  • 打赏
  • 举报
回复
在fun2函数的入口处和线程回调函数的三个出口处,我都输出日志了。创建了第二个线程后,只输出了fun2入口处的日志。
arong1234 2011-01-10
  • 打赏
  • 举报
回复
什么叫“三个出口都没有走到”?你怎么发现它没有走到的?
而且:你这种伪代码在你对线程不是很了解得情况下能反映真实情况的可能性也不大

15,471

社区成员

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

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