コード例 #1
0
ファイル: StackPool.cs プロジェクト: nikes/Link
 public virtual void Clear()
 {
     lock (LockObject)
     {
         while (FreeItems.Count > 0)
         {
             Cleanup(FreeItems.Pop());
         }
     }
 }
コード例 #2
0
ファイル: StackPool.cs プロジェクト: nikes/Link
 public virtual T Take()
 {
     lock (LockObject)
     {
         if (FreeItems.Count == 0)
         {
             if (MaxFreeCount == 0 || AllocateDefaultCount == 0)
             {
                 return(Create());
             }
             Allocate();
         }
         return(FreeItems.Pop());
     }
 }