/// <summary> /// 初始化内存池 /// </summary> /// <param name="iInitialCapacity">初始化内存池对象的数量</param> public ObjectPool(long iInitialCapacity = 1024) { m_InitialCapacity = iInitialCapacity; for (int iIndex = 0; iIndex < iInitialCapacity; ++iIndex) { m_FreePool.Push(new T()); } ObjectPoolStateInfo.Add(this); }
/// <summary> /// 初始化内存池 /// </summary> /// <param name="iInitialCapacity">初始化内存池对象的数量</param> /// <param name="maxCapacity">最大容量</param> public ObjectPool(long iInitialCapacity = 64, int maxCapacity = int.MaxValue) { m_InitialCapacity = iInitialCapacity; MaxCapacity = maxCapacity; for (int iIndex = 0; iIndex < iInitialCapacity; ++iIndex) { m_FreePool.Enqueue(new T()); } ObjectPoolStateInfo.Add(this); }