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