终止线程,要在线程的Execute()中经常地检查Terminated属性的值,来确定是否要提前退出,这样你就可以在线程退出前能够完成必要的清除。
在某些紧急的情况下还可以使用Win32 API函数TerminateThread()来终止一个线程,但是,只有在没有别的办法了才可以用,否则请不要使用它,例如:当线程陷入一个死循环时。
使用该函数,要考虑它所带来的负面影响。在Win95/98下,该函数能自动清除线程所占用的栈,在win200/Nt下,所用该函数都会令线程立即停止执行,这就意味着你在线程中所有打开的文件没有被关闭,由线程申请的内存没有被释放等。