public void Return(T obj) { if (!stack.TryPush(obj)) { obj.Dispose(); Interlocked.Decrement(ref allocatedObjects); } }
/// <summary> /// Dispose instance /// </summary> public void Dispose() { if (pool != null) { pool.TryPush(obj); } else { obj.Dispose(); } }
/// <summary> /// Dispose instance /// </summary> public void Dispose() { pool?.TryPush(obj); }