在一个线程被杀死的时候,它对应的资源会被自动清理吗?

zshtiger2414 2008-06-10 11:28:11
在一个线程被杀死的时候,它对应的资源会被自动清理吗?
我用一个线程把另外一个线程杀死,但是不知道资源又没有被清理!
...全文
372 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
僵哥 2008-06-10
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 zshtiger2414 的回复:]
我的一个线程是用的domodal,所以要杀死它才行阿!
[/Quote]
Domodal的话,建议把那个Modal的窗口关掉。
僵哥 2008-06-10
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zjz8204 的回复:]
杀进程,会不会自动释放?我常这样做。我想应该可以释放的吧?
[/Quote]
杀进程会由操作系统回收相应的资源,但是杀线程,除非在你的进程当中有做特殊处理,否则不会自动回收(OS管不上)。
zshtiger2414 2008-06-10
  • 打赏
  • 举报
回复
我的一个线程是用的domodal,所以要杀死它才行阿!
liyinlei 2008-06-10
  • 打赏
  • 举报
回复
线程函数执行完毕之后,自己就会退出,何必要去Kill。

可以用WaitForSingleObject 等待
zys85 2008-06-10
  • 打赏
  • 举报
回复
杀掉线程不会自动释放资源,杀掉进程会释放资源
day572 2008-06-10
  • 打赏
  • 举报
回复
一般会出现泄露,不到不得以,不要强制性kill一个线程,用一个变量去控制线程的退出或者用添加信号等等方法
zjz8204 2008-06-10
  • 打赏
  • 举报
回复
杀进程,会不会自动释放?我常这样做。我想应该可以释放的吧?
zshtiger2414 2008-06-10
  • 打赏
  • 举报
回复
哦,是线程!
现在什么也不会!
要做的就是做两个线程,让一个线程在完成了任务后杀死另外一个,使得程序可以往下走!
ouyh12345 2008-06-10
  • 打赏
  • 举报
回复
不会
推荐线程自己退出
leelittlelong 2008-06-10
  • 打赏
  • 举报
回复
到底是杀进程还是线程?
zshtiger2414 2008-06-10
  • 打赏
  • 举报
回复
还有就是现在就在是设想这么做,就是不知道在做的时候进程号怎么得到!
请大家帮忙阿!
stoneyrh 2008-06-10
  • 打赏
  • 举报
回复
资源是以进程为单位分配的
杀死线程不会释放资源
僵哥 2008-06-10
  • 打赏
  • 举报
回复
抱歉,不懂MFC...
zshtiger2414 2008-06-10
  • 打赏
  • 举报
回复
UINT progThreadProc(LPVOID pParam )
{
popup.DoModal();
return 0;
}

UINT progThreadProc1(LPVOID pParam)
{
//DestroyWindow(popup.GetSafeHwnd());*/
SendMessage(popup.GetSafeHwnd(),WM_CLOSE,0,0);
return 0;
}
这是哪两个线程寒暑,他们被启动的顺序是先第一个,后第二个!
但是在执行SendMessage或者是Destroywindow的时候就会出现错误!
就是上面的那个错误!
zshtiger2414 2008-06-10
  • 打赏
  • 举报
回复
怎么我在销毁窗口的时候老是出现错误啊!
编译还是可以的
就是一运行就出错阿!
这是怎么回事啊!
请大家指导!
调到这个地方:
_CRTIMP void _cdecl _CrtDbgBreak(
void
)
{
DebugBreak();
}

这怎么回事啊!?
na_he 2008-06-10
  • 打赏
  • 举报
回复
不会自动释放资源,要等到其自然end才可以.如果thread是在dialog中启动的,发送wm_close给dialog,就可以了.
僵哥 2008-06-10
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 zshtiger2414 的回复:]
引用 11 楼 unsigned 的回复:
引用 9 楼 zshtiger2414 的回复:
我的一个线程是用的domodal,所以要杀死它才行阿!

Domodal的话,建议把那个Modal的窗口关掉。

那要是在一个进程中可以销毁另外一个线程的窗口吗?
[/Quote]
窗口处于DoModal状态,发送一个WM_CLOSE消息给它就可以了。
zshtiger2414 2008-06-10
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 unsigned 的回复:]
引用 9 楼 zshtiger2414 的回复:
我的一个线程是用的domodal,所以要杀死它才行阿!

Domodal的话,建议把那个Modal的窗口关掉。
[/Quote]
那要是在一个进程中可以销毁另外一个线程的窗口吗?
tanyaliji 2008-06-10
  • 打赏
  • 举报
回复
杀掉线程不会自动释放资源,杀掉进程会释放资源

15,466

社区成员

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

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