14 个解决方案
#1
线程函数结束时线程也就终止了。
#2
函数结束了线程也就结束了。你可以在线程函数的内部用AfxEndThread,在
外部也可用TerminateThread去强行终止线程。
外部也可用TerminateThread去强行终止线程。
#3
没错, 函数结束时, 线程随即结束.无需其它处理.
当然, 假使你从堆上分配了内存, 应该delete掉
当然, 假使你从堆上分配了内存, 应该delete掉
#4
只要线程函数结束,线程就终止了,你最多再使用CloseHandle关闭一下CreateThread返回的线程句柄。
#5
不一定的说。
你的线程函数退出以后C/C++运行期库还要做一些清理工作,随后就是真正退出了。
你的线程函数退出以后C/C++运行期库还要做一些清理工作,随后就是真正退出了。
#6
嘿嘿,都说了,我撤.
#7
of course!!!sure!!!
#8
谢谢大家,再问一个问题马上结贴
CWinThread pThread=AfxBeginThread(...);
如果用delete pThread是不是就不用TerminateThread来结束线程了,和pThread相关的线程句柄都跟着释放了?
CWinThread pThread=AfxBeginThread(...);
如果用delete pThread是不是就不用TerminateThread来结束线程了,和pThread相关的线程句柄都跟着释放了?
#9
NO,delete 没有这种用法。TerminateThread也应该少用,他不会做善后工作的!
#10
如果线程函数内部的局域变量从堆上分配了内存,而线程被从外部强行终止了,如何处理内存问题?
#11
如果线程函数内部的局域变量从堆上分配了内存,而线程被从外部强行终止了,如何处理内存问题?
#12
当然会结束。
#13
需要从堆上释放内存。如果你外部强行终止,必须在终止时释放内存。
#14
我的程序中经常要终止掉一个线程,每次我终止线程时就把pThread给delete掉,不知道这种方法是不是正确。请各位赐教。
#1
线程函数结束时线程也就终止了。
#2
函数结束了线程也就结束了。你可以在线程函数的内部用AfxEndThread,在
外部也可用TerminateThread去强行终止线程。
外部也可用TerminateThread去强行终止线程。
#3
没错, 函数结束时, 线程随即结束.无需其它处理.
当然, 假使你从堆上分配了内存, 应该delete掉
当然, 假使你从堆上分配了内存, 应该delete掉
#4
只要线程函数结束,线程就终止了,你最多再使用CloseHandle关闭一下CreateThread返回的线程句柄。
#5
不一定的说。
你的线程函数退出以后C/C++运行期库还要做一些清理工作,随后就是真正退出了。
你的线程函数退出以后C/C++运行期库还要做一些清理工作,随后就是真正退出了。
#6
嘿嘿,都说了,我撤.
#7
of course!!!sure!!!
#8
谢谢大家,再问一个问题马上结贴
CWinThread pThread=AfxBeginThread(...);
如果用delete pThread是不是就不用TerminateThread来结束线程了,和pThread相关的线程句柄都跟着释放了?
CWinThread pThread=AfxBeginThread(...);
如果用delete pThread是不是就不用TerminateThread来结束线程了,和pThread相关的线程句柄都跟着释放了?
#9
NO,delete 没有这种用法。TerminateThread也应该少用,他不会做善后工作的!
#10
如果线程函数内部的局域变量从堆上分配了内存,而线程被从外部强行终止了,如何处理内存问题?
#11
如果线程函数内部的局域变量从堆上分配了内存,而线程被从外部强行终止了,如何处理内存问题?
#12
当然会结束。
#13
需要从堆上释放内存。如果你外部强行终止,必须在终止时释放内存。
#14
我的程序中经常要终止掉一个线程,每次我终止线程时就把pThread给delete掉,不知道这种方法是不是正确。请各位赐教。