multithreading - 如何在多线程中调用递归函数

标签 multithreading delphi synchronization delphi-xe3

我编写了一个函数来递归搜索与表单上的对象相关联的文件。我在单独的线程中运行此函数,因此UI线程不是问题。

如何使用Synchronize调用具有参数的函数?

递归函数是否调用了Synchronize命令,我是否正确?

同步模式是否具有相同的返回所有调用?

最佳答案

您可以使用匿名方法进行调用:

procedure TMyThread.Execute;
var
  MyParameter: Integer;
begin
  MyParameter := 42;
  Synchronize(
    procedure
    begin
      MethodWithParameter(MyParameter);
    end
    );
end;

关于multithreading - 如何在多线程中调用递归函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14072941/

相关文章:

delphi - 是否有任何实现基本IDE结构的Delphi开源项目?

javascript - Vue.js - Prop 同步不是即时的

c++ - 插槽在 QT 应用程序中未接收到信号

delphi - 如何取消AssignCrt(Output)?

c++ - 如何在英特尔 TBB 的 parallel_for 循环中指定循环步骤?

delphi - 调用泛型类型的方法?

asp.net - ASP.NET Web 服务中的静态字段

linux - 在 X 秒内强制不超过一次写入/同步到磁盘

java - 再次执行操作之前的计时器

multithreading - 多线程应用程序中的 DLL 和类