程序退出时杀不死该进程,CPU占用率高达99%。原因在哪?

ftp127 2004-02-29 11:33:35
另:程序为多线程的,
其中有一个线程为读写串口的通信线程,里面还调用了一些dll文件中的函数。


若该程序不启动其中那个读写串口的线程,则不出现如标题所述的情况。程序退出时可正常结束该进程。
...全文
65 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovemaggic 2004-03-28
  • 打赏
  • 举报
回复
可能原因:没有关闭串口,而且数据很多
把程序发到cai_hai_ying2002@163.com
hxzb7215191 2004-03-20
  • 打赏
  • 举报
回复
一定是一个没有阻塞的线程。


而且是一个死循环。
flinming 2004-03-19
  • 打赏
  • 举报
回复
int ExitThread()
{
if (TerminateThread(m_hThread, 4))
{
DWORD dwExitCode =0;
while(1)
{
GetExitCodeThread(m_hThread, &dwExitCode);
if (dwExitCode != STILL_ACTIVE)
break;
}
CloseHandle(m_hThread);
}

return 0;
}
无花果 2004-03-19
  • 打赏
  • 举报
回复
杀不死多半是因为进程进入了内核状态没有返回!

所以你要检查调用DeviceIOControl的地方!是否参数传错了?
如果你的程序没有调用DeviceIOControl,那就没有办法检查了。

15,471

社区成员

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

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