1

我想将 spring 中的 IObjectPool 应用到我的代码中,以创建一个对象池(在我的例子中是一个线程类)。有没有关于春季游泳池的示例或文档?

是这样的:

TMyClass = class(TThread)
public
    constructor Create;
    procedure Execute; override;
end;

另一类:

uses
    ....
    Spring.Container,
    Spring.Container.Pool,
    Spring.Container.Core,
    Spring.Container.ComponentActivator,
    Spring.Services,
    ....;

TOtherClass = class
private
    FPool: IObjectPool;
    FActivator: IComponentActivator;
    ....
end;

implementation

constructor TOtherClass.Create;
begin
    FActivator := ServiceLocator.GetService<IComponentActivator>;
    FPool := TSimpleObjectPool.Create(FActivator, 5 , 10);
    FPool.Initialize(nil);
end;

procedure TOtherClass.AProcedure;
var
    task: TMyTask;
begin
    ...
    task := FPool.GetInstance(nil);
    ...
end;

我正在使用 XE6。

问候。

4

0 回答 0