线程需要关闭吗?怎么关闭?急!! 线程在执行完毕后需要释放吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 某些紧急情况下,你可以使用TerminateThread()来终止一个线程。但是,除非没有别的办法了,否则不要用它。例如,当线程代码陷入死循环时。TerminateThread()的声明如下:function TerminateThread(hThread:THandle;dwExitCode:DWORD);TThread的Handle属性可以作为第一个参数,因此,TerminateThread()常这样调用:TerminateThread(MyHosedThread.Handle,0)如果选择使用这个函数,应该考虑到它的负面影响。首先,此函数在Windows NT与在Windows 95/98下并不相同。在Windows 95/98 下,这个函数能够自动清除线程所占用的栈;而在Windows NT下,在进程被终止前栈仍然保留。其次,无论线程代码中是否有try...finally块,这个函数都会使线程立即停止执行。这意味着,被线程打开的文件没有被关闭、由线程申请的内存没有被释放等情况。而且,这个函数在终止线程的时候也不通知D L L,当D L L关闭时,这也容易出现问题 FreeOnTerminate := true/false; 十万火急啊 怎么取网页中指定标签中的,每个标签的内容。。。 请问哪位知道GDI+ 怎样设置文本的行距? winzip 关于database desktop 小问题! 兄弟们尽量快点结贴,快成穷光蛋了 :( [100分]怎样用delphi实现把dbf转换成SQL数据库? 一个简单的数据库问题 什么是dll?为什么要进行regsvr32?机理是什么?(高分相送) 不同的操作系统中的日期显示问题? 呵呵,我会pascal学delphi有多难啊? 如何能通过消息函数激发另一运行程序的某个控件的事件 Delphi7在DLL中使用ADO时出错,为什么?
例如,当线程代码陷入死循环时。TerminateThread()的声明如下:
function TerminateThread(hThread:THandle;dwExitCode:DWORD);TThread的Handle属性可以作为第一个参数,因此,TerminateThread()常这样调用:
TerminateThread(MyHosedThread.Handle,0)
如果选择使用这个函数,应该考虑到它的负面影响。
首先,此函数在Windows NT与在Windows 95/98下并不相同。在Windows 95/98 下,这个函数能够自动清除线程所占用的栈;而在Windows NT下,在进程被终止前栈仍然保留。
其次,无论线程代码中是否有try...finally块,
这个函数都会使线程立即停止执行。这意味着,被线程打开的文件没有被关闭、由线程申请的
内存没有被释放等情况。而且,这个函数在终止线程的时候也不通知D L L,当D L L关闭时,这也容易出现问题