用terminateThread结束线程后主程序无法继续!急!
问题描述:
为何用terminateThread结束线程后,下面的语句无法执行了。
而且若是监视terminateThread里的参数(把0换成变量),好像一直是0,不是应该结束成功返回非0吗
答
图看不清,测试代码如下
struct A
{
int a;
int b;
};
void threadfun(void *lpVoid);
void CombatPlan(int a, int b)
{
if(a)
{
cout<<a;
CombatPlan(a-1,b);
}
}
void threadFunc(void lpVoid)
{
A *p = (A)lpVoid;
CombatPlan(p->a, p->b);
_endthread;
}
int main()
{
A a;
a.a = 4444;
a.b = 333;
HANDLE handle =(HANDLE)_beginthread((void(_cdecl*)(void*))threadFun,0,(void*)&a);
sleep(900);
TerminateThread(handle,0);
cout<<"hahaha";//运行不了
}
答
没有学过模糊识别,无法从你的图里复原出代码