想写一个缓存类,不知怎么写,谁有代码可供参考或者简单指点一下如何实现?谢谢了

解决方案 »

  1.   

    参考这个 http://www.cnblogs.com/junyistar/archive/2007/11/01/945834.html
      

  2.   


    这得看你使用的缓存的具体目的了。
    使用队列大体是这样的,个人想法,我在项目中是这样写的。
    我做了一个数据采集卡的封装程序,启动一个线程每1.6ms从卡上获取3456个点,大约循环读取8000次。
    然后有一个线程处理每一次获取的数据,做到实时显示。
     /// <summary>
        /// 存取采集卡行数据的队列类
        /// </summary>
        class CDataQueue
        {
            private static object dataObj = new object();
            private static Queue<ushort[]> data_que = new Queue<ushort[]>(5000);
            public Queue<ushort[]> DATA_QUE
            {
                get
                {
                    lock (dataObj)
                    {
                        return data_que;
                    }
                }
                set
                {
                    lock (dataObj)
                    {
                        data_que = value;
                    }
                }
            }    }在程序中这样:
    CDataQueue dataQue = new CDataQueue();
    线程1:从采集卡取数据:
    private void snapData()
    {
    //using a cycle to get line data
    //do something about snaping line datas.
    dataQue.DATA_QUE.Enqueue(my line data)保存数据
    }
    线程2:显示数据
    private void showData()
    {
    //using a cycle to show line data
    if(dataQue.DATA_QUE.count > 0)
    {
    dataQue.DATA_QUE.deQueue();出队列
    using the queue data
    }
    }