我想将 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。
问候。