2
真的简单,但涉及TIdThreadComponent
重要的问题:在哪个线程TIdThreadComponent OnTerminate和OnStopped执行?
在哪个线程是OnTerminate
和OnStopped
执行 - 主线程或者工作线程?
当我在这些事件中(并调用VCL属性和方法)时,我可以安全地假设我处于主线程中吗?
更新:我想我可能会使用调试器,并试图在此之后,貌似OnStopped
是工作者线程中OnTerminate
是主线程里面。额外的好处是调试器可以帮助确定执行其他相关的启动/停止/控制线程的功能,并减少可能的错误。
您可以随时使用GetCurrentThreadID确定当前的ThreadContext并将其与MainThreadID进行比较:o) – 2013-04-09 05:32:55
是的,我以后也是这样做的。虽然有用的建议。 – Coder12345 2013-04-10 02:29:44