【问题标题】:Does IdHttpServer OnCommandGet event runs inside a thread?IdHttpServer OnCommandGet 事件是否在线程内运行?
【发布时间】:2011-08-18 19:11:27
【问题描述】:

idHttpServer OnCommandGet 是否在线程内运行?我猜 Indy 会创建一个线程并在其中调用这个事件,但我不太确定。

Indy 这样做了,是否可以在此事件中设置 threadvar 并从我的 OnCommandGet 调用的方法中读取此变量?

【问题讨论】:

    标签: multithreading delphi indy


    【解决方案1】:

    是的,它在 Indy 创建和管理的线程中运行。您可以通过调用GetCurrentThreadID 并将结果与​​全局MainThreadID 变量进行比较来验证这一点。

    虽然您可以使用线程变量,但请考虑将这些值作为简单的参数传递给您调用的函数。那么你就没有全局变量的所有缺点了。

    【讨论】:

    • 是的,我知道我应该这样做。这仅用于教育目的。我正在尝试理解遗留代码。感谢您的帮助。
    猜你喜欢
    • 2013-09-20
    • 1970-01-01
    • 2010-10-20
    • 2012-06-21
    • 1970-01-01
    • 1970-01-01
    • 2020-02-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多