zoukankan      html  css  js  c++  java
  • 浅谈队列

    在以前的大业务中大部分的的时候是直接把请求的信息插入数据库。可是随着数据量和并发量的增加,简单的插表不能在解决 并发问题。这时候就要对原有的业务进行改造,写入是同步写入队列当中,然后异步对队列就行操作。

    队列?

     队列是什么呢?

    队列在按接收顺序存储消息方面非常有用,以便于进行顺序处理。此类将队列作为循环数组实现。存储在 Queue 中的对象在一端插入,从另一端移除。

    Queue 的容量是 Queue 可以保存的元素数。Queue 的默认初始容量为 32。向 Queue 添加元素时,将通过重新分配来根据需要自动增大容量。可通过调用 TrimToSize 来减少容量。

    上面的话引用子msdn的解释。其实队列就是一个简单 就类似一个竹筒 一边只能进,一边只能出




                // 新建一个队列 并且字符 入队
                Queue myQ = new Queue();
                //入队
                myQ.Enqueue("Hello");
                myQ.Enqueue("World");
                myQ.Enqueue("!");
                //出队 第一个元素出对
                myQ.Dequeue();




               
                Console.WriteLine("myQ");
                //队列中包含的元素个数
                Console.WriteLine("\tCount:    {0}", myQ.Count);
                Console.Write("\tValues:");
                PrintValues(myQ);
            }




            public static void PrintValues(IEnumerable myCollection)
            {
                Queue str = (Queue)myCollection;
                Console.Write(" Queue(Of T) 中包含{0}数。", str.Count);


                foreach (Object obj in myCollection)              
                    Console.Write("    {0}", obj);
                 
                   //队列中是否包含Traner
                bool b= str.Contains("Traner");
                ///清空队列
                str.Clear();
                Console.WriteLine();
                Console.ReadLine();
            }

    队列里不止可以存,简单类型,也可以存复杂类型  在很大时候也需要队列支持



  • 相关阅读:
    14_java之变量|参数|返回值|修饰符
    NYOJ 202 红黑树 (二叉树)
    NYOJ 138 找球号(二) (哈希)
    NYOJ 136 等式 (哈希)
    NYOJ 133 子序列 (离散化)
    NYOJ 129 树的判定 (并查集)
    NYOJ 117 求逆序数 (树状数组)
    NYOJ 93 汉诺塔 (数学)
    HDU 2050 折线分割平面 (数学)
    天梯赛L2-008 最长对称子串 (字符串处理)
  • 原文地址:https://www.cnblogs.com/Traner/p/2819994.html
Copyright © 2011-2022 走看看