multithreading - Thread.Finish Thread Execution 的目的是什么?它何时被调用?

标签 multithreading delphi tthread

我一直在尝试实现一个在后台运行并每秒更新进度条的线程,并按照 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/

相关文章:

c - 线程问题

delphi - 开箱即用的平面无边框按钮

delphi - 使用 indy/delphi 组件通过 https 发布文件

delphi - 在Delphi中加密/解密文本文件?

C++ Builder - 即时生成 TThreads

java - 阻塞线程运行 SAX 解析器

c++ - 回调函数 C++

delphi - 我可以在 TThread 的 OnTerminate 事件中引发异常吗?

delphi - Delphi中单独线程中运行WebService的问题

c++ - Word-Net线程安全