Ejemplo n.º 1
0
        /// <summary>
        /// Initializes a new instance of ObjectPool class.
        /// </summary>
        /// <param name="initializeCount"></param>
        /// <param name="maxPoolSize"></param>
        /// <param name="provider"></param>
        public ObjectPool(int initializeCount, IPoolObjectProvider <T> provider)
        {
            if (initializeCount < 0)
            {
                throw new ArgumentException("initialize count is less than zero.", "initializeCount");
            }
            if (provider == null)
            {
                throw new ArgumentNullException("provider");
            }

            this.m_provider    = provider;
            this.m_objectQueue = new LockFreeQueue <T>();

            if (initializeCount > 0)
            {
                for (int i = 0; i < initializeCount; i++)
                {
                    this.ReturnObject(this.CreateObject());
                }
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Initializes a new instance of ObjectPool class.
 /// </summary>
 /// <param name="provider"></param>
 public ObjectPool(IPoolObjectProvider <T> provider)
     : this(0, provider)
 {
 }