/// <summary>
 /// Constructor
 /// </summary>
 /// <param name="factory"></param>
 /// <param name="maxObjects"></param>
 public SimpleObjectPool(Func <T> factory, int maxObjects = 128)
 {
     this.factory     = factory;
     this.maxObjects  = maxObjects;
     stack            = new LightConcurrentStack <T>();
     allocatedObjects = 0;
 }
Exemple #2
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="factory"></param>
 /// <param name="destructor"></param>
 /// <param name="maxObjects"></param>
 public SimpleObjectPool(Func <T> factory, Action <T> destructor = null, int maxObjects = 128)
 {
     this.factory     = factory;
     this.destructor  = destructor;
     this.maxObjects  = maxObjects;
     stack            = new LightConcurrentStack <T>();
     allocatedObjects = 0;
 }
Exemple #3
0
 internal ReusableObject(T obj, LightConcurrentStack <T> pool)
 {
     this.pool = pool;
     this.obj  = obj;
 }