如何正确终止一个线程? 当线程结束时,它仍然存在于内存中。我正在使用Delphi 2010(更新5)。
如何正确终止一个线程? 当线程结束时,它仍然存在于内存中。我正在使用Delphi 2010(更新5)。
TThread.Execute
中的线程代码启动。它应该定期检查其 Terminated
属性的值。当发现为真时,应在调用 exit 之前执行任何整理工作(释放锁,返回资源等)。如何精确地终止一个线程?如果你只是设置Terminate标志,这只是在线程内部检查的一个标志。如果你需要终止执行线程(而不是发出信号告诉TThread对象需要完成),你可以使用TerminateThread WinAPI函数。但你应该注意到,这会导致资源泄漏(正如在TerminateThread文档中的注释中所写的那样)。
http://www.eonclash.com/Tutorials/Multithreading/MartinHarvey1.1/Ch1.html
http://docwiki.embarcadero.com/RADStudio/en/Writing_multi-threaded_applications_Index