Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Multithreading IdHttpServer OnCommandGet事件是否在线程内运行?_Multithreading_Delphi_Indy - Fatal编程技术网

Multithreading IdHttpServer OnCommandGet事件是否在线程内运行?

Multithreading IdHttpServer OnCommandGet事件是否在线程内运行?,multithreading,delphi,indy,Multithreading,Delphi,Indy,idHttpServerOnCommandGet是否在线程内运行?我猜Indy创建了一个线程并在其中调用此事件,但我并不确定 如果Indy这样做,是否可以在该事件中设置threadvar,并从myOnCommandGet调用的方法中读取该var?是的,它在Indy创建和管理的线程中运行。您可以通过调用并将结果与全局变量进行比较来验证这一点 尽管可以使用三个AdvARS,但只需将这些值作为简单参数传递给调用的函数即可。那么你就没有全局变量的所有缺点了。是的,我知道我应该这么做。这只是出于教育目的。

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


如果Indy这样做,是否可以在该事件中设置
threadvar
,并从my
OnCommandGet
调用的方法中读取该var?

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


尽管可以使用三个AdvARS,但只需将这些值作为简单参数传递给调用的函数即可。那么你就没有全局变量的所有缺点了。

是的,我知道我应该这么做。这只是出于教育目的。我试图理解一个遗留代码。谢谢你的帮助。