TThread.FinishThreadExecution的目的是什么,什么时候被调用?

use*_*114 4 delphi multithreading tthread

我一直在尝试实现一个在后台运行的线程,并且每隔一秒左右更新一个进度条,并按照Delphi的最佳答案中的示例- 在线程内部的计时器生成AV.我注意到建议的解决方案有TThread.FinishThreadExecution的实现.我的IDE显示我的delphi版本支持该方法,但我一直无法找到它的任何文档(谷歌出现10次点击,没有一个帮助,http://docwiki.embarcadero.com/没有列出TThread下的那个方法.它的用途是什么,什么时候被称为?

LU *_* RD 7

FinishThreadExecution不是从TThread基类继承的方法.它只是派生类中实现的方法TTimerThread.

该方法的目的是以适当的方式完成线程的执行.

所有FinishThreadExecution操作都是调用Terminate,它在TThread中设置内部标志,并设置FTickEvent事件以唤醒线程.然后线程执行方法将结束并且线程将自毁,因为TThread.FreeOnTerminate是真的.