试图改进安全栈SafeStack,但仍然是不安全,性能也不理想。 原子栈轻易的经受千万级测试,而性能差别不大,稳定!!
nnhy 编写于 2012-03-15 19:04:12
X
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;

namespace NewLife.Collections
{
    /// <summary>栈接口</summary>
    /// <remarks>重点解决多线程环境下资源争夺以及使用lock造成性能损失的问题</remarks>
    /// <typeparam name="T"></typeparam>
    public interface IStack<T> : IEnumerable<T>, ICollection, IEnumerable, IDisposable
    {
        /// <summary>向栈压入一个对象</summary>
        /// <param name="item"></param>
        void Push(T item);

        /// <summary>从栈中弹出一个对象</summary>
        /// <returns></returns>
        T Pop();

        /// <summary>尝试从栈中弹出一个对象</summary>
        /// <param name="item"></param>
        /// <returns></returns>
        Boolean TryPop(out T item);

        ///// <summary>获取栈顶对象,不弹栈</summary>
        ///// <returns></returns>
        //T Peek();

        ///// <summary>尝试获取栈顶对象,不弹栈</summary>
        ///// <param name="item"></param>
        ///// <returns></returns>
        //Boolean TryPeek(out T item);
    }
}