关于 TIdThreadComponent
的非常简单但重要的问题:
OnTerminate
和 OnStopped
在哪个线程中执行 - 主线程还是工作线程?
当我处于这些事件中(并调用 VCL 属性和方法)时,我可以安全地假设我处于主线程中吗?
更新:我想我可能会使用调试器,尝试后,看起来 OnStopped
位于工作线程内,而 OnTerminate
位于主线程内。额外的好处是调试器可以帮助确定启动/停止/控制线程的其他相关函数的执行位置并减少可能的错误。
最佳答案
您的观察是正确的。 OnStopped
在工作线程的上下文中触发。 OnTermminate
在主线程上下文中触发。
关于delphi - TIdThreadComponent OnTerminate 和 OnStopped 在哪个线程中执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15892057/