Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        /// <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);
        }