This commit is contained in:
3cxc
2025-12-25 18:21:46 +08:00
parent 990bd00aba
commit 9ab2bd7c86
16 changed files with 1060 additions and 0 deletions

9
Utils/Pool/IPool.cs Normal file
View File

@@ -0,0 +1,9 @@
namespace EasyTools.Utils.Pool
{
public interface IPool<T>
{
public T Get();
public void Return(T obj);
}
}

View File

@@ -0,0 +1,29 @@
using System.Text;
using BasePools = NorthwoodLib.Pools;
namespace EasyTools.Utils.Pool
{
public class StringBuilderPool : IPool<StringBuilder>
{
private StringBuilderPool()
{
}
public static StringBuilderPool Pool { get; } = new();
public StringBuilder Get() => BasePools.StringBuilderPool.Shared.Rent();
public StringBuilder Get(int capacity) => BasePools.StringBuilderPool.Shared.Rent(capacity);
public void Return(StringBuilder obj) => BasePools.StringBuilderPool.Shared.Return(obj);
public string ToStringReturn(StringBuilder obj)
{
string s = obj.ToString();
Return(obj);
return s;
}
}
}