/// <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; }
/// <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; }
internal ReusableObject(T obj, LightConcurrentStack <T> pool) { this.pool = pool; this.obj = obj; }