未观察到的TOmniTask ...任务控制器需要拥有者?

时间:2014-09-19 20:01:51

标签: delphi delphi-2007 omnithreadlibrary

我使用OmniThreadLibrary在Delphi 2007中编写了一个程序。我发现程序在内存中越来越大,因为它使用以下结构来启动任务。

class procedure saveIniFile(const iniFile: TStringList);
    var
        task  : IOmniTaskControl;
     begin
        task := CreateTask(saveIniFileTask, 'saveIniFile')
                   .SetParameter('iniFile', iniFile)
                   .Unobserved
                   .Schedule;
     end;

在阅读了几篇博客并浏览了文档之后,我发现我需要将一个任务实例存储在一个持久变量中。即...

var
    task  : IOmniTaskControl;

class procedure saveIniFile(const iniFile: TStringList);

     begin
        task := CreateTask(saveIniFileTask, 'saveIniFile')
                   .SetParameter('iniFile', iniFile)
                   .Unobserved
                   .Schedule;
     end;

我的问题是,这应该是每个任务实例的独立持久变量吗?

例如:如果我在循环中启动了相同的任务,那么每个先前的实例都会被新的覆盖,因此我需要一组实例吗?

我看到的例子似乎对所有创建的实例都使用了一个变量,但这似乎不对。

任何人都可以放弃任何光明吗?

由于

0 个答案:

没有答案