Как использовать интерфейс IObjectPool?

Я хочу применить IObjectPool из Spring к моему коду для создания пула объектов (в моем случае, класса потока). Есть ли какой-нибудь пример или документация о бассейнах с весны?

Это что-то вроде этого:

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.

С уважением.

0 ответов

Другие вопросы по тегам