我一直在尝试实现一个在后台运行并每秒更新进度条的线程,并按照 Delphi - timer inside thread generates AV 的最佳答案中的示例进行操作。 。我注意到提议的解决方案有一个 TThread.FinishThreadExecution 的实现。我的 IDE 显示我的 delphi 版本支持该方法,但我一直无法找到任何有关它的文档(google 找到了 10 个命中,没有一个有帮助,http://docwiki.embarcadero.com/ 没有在 TThread 下列出该方法。什么是它的作用和调用时间是什么?
最佳答案
FinishThreadExecution
不是从 TThread
基类继承的方法。它只是在派生类 TTimerThread
中实现的一个方法。
该方法的目的是以适当的方式完成线程的执行。
FinishThreadExecution
所做的只是调用 Terminate
,它会在 TThread 中设置一个内部标志,并设置 FTickEvent
事件来唤醒线程。然后,线程执行方法将结束,并且线程将自毁,因为 TThread.FreeOnTerminate
为 true。
关于multithreading - Thread.Finish Thread Execution 的目的是什么?它何时被调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19929063/