Пример #1
0
        /// <summary>
        /// 转移chunk
        /// </summary>
        /// <param name="percent"></param>
        /// <param name="chunk"></param>
        private void TryTransfer(PoolChunk chunk)
        {
            //如果小于最小使用率则将chunk转移到上一个PoolChunkList
            if (chunk.UsedPercent < (minPct / 100f))
            {
                DeleteFirst();

                if (prev == null)
                {
                    return;
                }

                prev.AddLast(chunk);

                return;
            }

            //如果大于最大使用率则将chunk转移到下一个PoolChunkList
            if (chunk.UsedPercent >= (maxPct / 100f))
            {
                if (next == null)
                {
                    return;
                }

                next.AddLast(chunk);
                DeleteFirst();

                return;
            }
        }