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

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



  • 相关阅读:
    Java编程技术之浅析SPI服务发现机制
    Java编程开发之浅析Java引用机制
    xmake v2.5.5 发布,支持下载集成二进制镜像包
    C/C++ 构建系统,我用 xmake
    xmake v2.5.3 发布,支持构建 linux bpf 程序和 Conda 包集成
    xmake v2.5.2 发布, 支持自动拉取交叉工具链和依赖包集成
    程序员是怎么存档并管理文件版本的?
    《大厂程序员春招实习面试漫画》第一集:基础面试
    漫画解释啥是云计算
    程序员,这个需求你是真实现不了吗?
  • 原文地址:https://www.cnblogs.com/Traner/p/2819994.html
Copyright © 2011-2022 走看看