双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

TerminateThread为什么结束不了线程呢

zrdongjiao zrdongjiao 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区




DWORD WINAPI ThreadFun(LPVOID p)
{
while(1)
{
///printf(" 子线程running \n");

Sleep(1000);
}

printf("线程结束了\n");





return 0;
}




int main()
{

typedef unsigned int (_stdcall *ThreadType )(LPVOID);

HANDLE hThread=(HANDLE)_beginthreadex(NULL,0,(ThreadType)ThreadFun,NULL,0,NULL);


printf("主线程 runing \n");


Sleep(500);


char c;


while( (c=getchar()) !='a');


//TerminateThread(HANDLE(944),1111);

TerminateThread(hThread,0);


if( GetExitCodeThread(hThread,&ExitCode) )
{

if(ExitCode==STILL_ACTIVE)
{
printf("子线程没有结束\n"); //这里可以打印出结果来,怎么回事
}
}



printf("主线程 dead \n");


CloseHandle(hThread);

return 0;
}


...全文

相关推荐

评论 8
收藏 已收藏
分享
返回顶部
zrdongjiao
进程/线程/DLL 15,466 成员 49,169 内容