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();
            }

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



  • 相关阅读:
    成为明星程序员的10个提示
    每天写出好代码的5个建议
    收集开发相关网站
    Class.getDeclaredFields()和Class.getFields()的区别。 Class.getMethods()和Class.getDeclaredMethods()的区别。
    Oracle数据库插入过程中特殊符号
    @JsonIgnore注解|@JsonProperty
    基本linux命令
    linux基本概述
    php.ini模块
    一个购物车类(session实现的且为单例模式)
  • 原文地址:https://www.cnblogs.com/Traner/p/2819994.html
Copyright © 2011-2022 走看看