【发布时间】:2013-03-31 07:11:39
【问题描述】:
关于TIdThreadComponent的非常简单但重要的问题:
OnTerminate 和 OnStopped 在哪个线程中执行 - 主线程还是工作线程?
当我在这些事件中(并调用 VCL 属性和方法)时,我可以安全地假设我在主线程中吗?
更新:我想我可能会使用调试器,在尝试之后,看起来OnStopped 在工作线程内,OnTerminate 在主线程内。额外的好处是调试器可以帮助确定在哪里执行启动/停止/控制线程的其他相关函数并减少可能的错误。
【问题讨论】:
-
你总是可以用 GetCurrentThreadID 确定当前的 ThreadContext 并与 MainThreadID 进行比较 :o)
-
是的,我后来也这样做了。不过有用的建议。
标签: delphi c++builder indy indy10