国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

RabbitMQ優(yōu)先級隊列的使用

這篇具有很好參考價值的文章主要介紹了RabbitMQ優(yōu)先級隊列的使用。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

RabbitMQ優(yōu)先級隊列的使用

生產(chǎn)者

public class PriorityQueue
{
    public static void Send()
    {

        string path = AppDomain.CurrentDomain.BaseDirectory;
        string tag = path.Split('/', '\\').Last(s => !string.IsNullOrEmpty(s));
        Console.WriteLine($"這里是 {tag} 啟動了。。");

        ConnectionFactory factory = new ConnectionFactory();
        factory.HostName = "localhost";//RabbitMQ服務在本地運行
        factory.UserName = "guest";//用戶名
        factory.Password = "guest";//密碼 
        using (IConnection connection = factory.CreateConnection())
        {
            using (IModel channel = connection.CreateModel())
            {
                //創(chuàng)建隊列的時候,指定隊列的優(yōu)先級;x-max-priority:最大的優(yōu)先級是10
                channel.QueueDeclare(queue: "PriorityQueue", durable: true, exclusive: false, autoDelete: false, arguments: new Dictionary<string, object>() { 
                        {"x-max-priority",10 }  //指定隊列要支持優(yōu)先級設置;
                   });

                
                channel.ExchangeDeclare(exchange: "PriorityQueueExchange", type: ExchangeType.Direct, durable: true, autoDelete: false, arguments: null); 
                channel.QueueBind(queue: "PriorityQueue", exchange: "PriorityQueueExchange", routingKey: "PriorityKey");
                
                
                string[] questionList = { "vip學員1 來請教", "甲 同學來請教問題", 
                                         "乙 同學來請教問題", "丙 同學來請教問題", 
                                         "丁 同學來請教問題", "vip學員2 來請教" };
                //設置消息優(yōu)先級
                //VIP學員和公開課學員同時來請教問題解答,當然是優(yōu)先VIP學員;
                IBasicProperties props = channel.CreateBasicProperties();
                foreach (string questionMsg in questionList)
                {
                    if (questionMsg.StartsWith("vip"))
                    {
                        props.Priority = 9;
                        channel.BasicPublish(exchange: "PriorityQueueExchange",
                                             routingKey: "PriorityKey",
                                             basicProperties: props,
                                             body: Encoding.UTF8.GetBytes(questionMsg));
                    }
                    else
                    {
                        props.Priority = 1;
                        channel.BasicPublish(exchange: "PriorityQueueExchange",
                                             routingKey: "PriorityKey",
                                             basicProperties: props,
                                             body: Encoding.UTF8.GetBytes(questionMsg));
                    }
                    Console.WriteLine($"{questionMsg} 已發(fā)送~~");
                }
                Console.Read();
            }
        }
    }
}

消費者文章來源地址http://www.zghlxwxcb.cn/news/detail-602790.html

public class PriorityQueue
{
    public static void Consumption()
    {
        var factory = new ConnectionFactory();
        factory.HostName = "localhost";//RabbitMQ服務在本地運行
        factory.UserName = "guest";//用戶名
        factory.Password = "guest";//密碼 
        using (var connection = factory.CreateConnection())
        {
            using (IModel channel = connection.CreateModel())
            {
                //定義消費者                                      
                var consumer = new EventingBasicConsumer(channel);
                consumer.Received += (model, ea) =>
                {
                    string msg = Encoding.UTF8.GetString(ea.Body.ToArray());
                    Console.WriteLine(msg);
                    channel.BasicReject(deliveryTag: ea.DeliveryTag, requeue: false);
                };
                Console.WriteLine("消費者準備就緒....");
                //處理消息
                channel.BasicConsume(queue: "PriorityQueue", autoAck: false, consumer: consumer);
                Console.ReadKey();
            }
        }
    }
}

到了這里,關(guān)于RabbitMQ優(yōu)先級隊列的使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關(guān)文章

  • C++——優(yōu)先級隊列(priority_queue)的使用及實現(xiàn)

    C++——優(yōu)先級隊列(priority_queue)的使用及實現(xiàn)

    目錄 一.priority_queue的使用 1.1、基本介紹 1.2、優(yōu)先級隊列的定義 1.3、基本操作(常見接口的使用) 1.4、重寫仿函數(shù)支持自定義數(shù)據(jù)類型 二.priority_queue的模擬實現(xiàn) 2.1、構(gòu)造重要的調(diào)整算法 2.2、常見接口的實現(xiàn) push() pop() top() empty()、size() ?三.利用仿函數(shù)改進調(diào)整算法 我們之前

    2024年02月02日
    瀏覽(18)
  • 【C++雜貨鋪】優(yōu)先級隊列的使用指南與模擬實現(xiàn)

    【C++雜貨鋪】優(yōu)先級隊列的使用指南與模擬實現(xiàn)

    優(yōu)先級隊列是一種容器適配器,根據(jù)嚴格的弱排序標準,它的第一個元素總是它所包含的元素中最大的。 此上下文類似于堆,在堆中可以隨時插入元素,并且只能檢索最大堆元素(優(yōu)先級隊列中位于頂部的元素)。 優(yōu)先級隊列被實現(xiàn)為容器適配器,容器適配器即將特定容器

    2024年02月09日
    瀏覽(20)
  • 【C++】STL使用仿函數(shù)控制優(yōu)先級隊列priority_queue

    【C++】STL使用仿函數(shù)控制優(yōu)先級隊列priority_queue

    本文章講解C++STL的容器適配器:priority_queue的實現(xiàn),并實現(xiàn)仿函數(shù)控制priority_queue底層。 priority_queue叫做優(yōu)先級隊列,它的底層結(jié)構(gòu)是堆,在庫中,默認生成的是大堆 在庫的實現(xiàn)中,使用vector作為該優(yōu)先級隊列的適配容器。 由于priority_queue也是一個適配器,所以它的接口函數(shù)

    2024年02月16日
    瀏覽(30)
  • 【堆的認識及其優(yōu)先級隊列】java代碼實現(xiàn),保姆級教程學習堆和優(yōu)先級隊列

    【堆的認識及其優(yōu)先級隊列】java代碼實現(xiàn),保姆級教程學習堆和優(yōu)先級隊列

    前言: 大家好,我是 良辰 丫?????,我們又見面了,前面我們講了用鏈表實現(xiàn)的二叉樹,今天我們來接觸 堆 的概念,堆是一種特殊的二叉樹,只不過咱們的對底層原理是數(shù)組,堆也是我們在做題中經(jīng)常見到的,那么,接下來我們就慢慢的去接觸堆, 認識堆,理解堆,掌

    2024年02月02日
    瀏覽(32)
  • 【STL】priority_queue(優(yōu)先級隊列)詳解及仿函數(shù)使用(附完整源碼)

    【STL】priority_queue(優(yōu)先級隊列)詳解及仿函數(shù)使用(附完整源碼)

    1. priority_queue介紹和使用 1.1 priority_queue介紹 優(yōu)先級隊列也是在 queue 里: 因此和 queue 一樣, priority_queue 也是一個容器適配器。priority_queue官方文檔 優(yōu)先隊列是一種容器適配器,根據(jù)嚴格的弱排序標準,它的第一個元素總是它所包含的元素中最大的。 類似于堆,在堆中可以隨

    2024年02月08日
    瀏覽(22)
  • Linux_進程的優(yōu)先級&&環(huán)境變量&&上下文切換&&優(yōu)先級隊列

    Linux_進程的優(yōu)先級&&環(huán)境變量&&上下文切換&&優(yōu)先級隊列

    什么是優(yōu)先級? 指定一個進程獲取某種資源的先后順序 本質(zhì)是進程獲取cpu資源的優(yōu)先順序 為什么要有優(yōu)先級 進程訪問的資源(CPU)是有限的 操作系統(tǒng)關(guān)于調(diào)度和優(yōu)先級的原則:分時操作系統(tǒng),基本的公平,如果進程因為長時間不被調(diào)整,就造成了饑餓問題 Linux的優(yōu)先級特

    2024年04月09日
    瀏覽(22)
  • 優(yōu)先級隊列

    優(yōu)先級隊列

    目錄 ?前言: 1、PriorityQueue的特性 .2 PriorityQueue常用接口介紹 Ⅰ、PriorityQueue常見的構(gòu)造方法 ?Ⅱ、常用的方法 Ⅲ、PriorityQueue的擴容方式: ?3、應用 普通的隊列是一種 先進先出 的數(shù)據(jù)結(jié)構(gòu),元素在隊列尾追加,而從隊列頭刪除。在優(yōu)先隊列中,元素被賦予優(yōu)先級。當訪問元

    2024年02月02日
    瀏覽(28)
  • 優(yōu)先級隊列【C++】

    優(yōu)先級隊列【C++】

    優(yōu)先隊列(priority_queue)也是隊列的一種,priority_queue的接口是和queue的接口是相同的。所以兩者的使用語法也是相同的。我們直接看優(yōu)先隊列(priority——queue)的底層實現(xiàn)原理。 默認情況下priority_queue是大堆。 priority_queue的底層實際上就是堆,模擬實現(xiàn)priority_queue之前,需要

    2024年02月10日
    瀏覽(24)
  • Java優(yōu)先級隊列-堆

    大家好,我是曉星航。今天為大家?guī)淼氖?Java優(yōu)先級隊列(堆) 的講解!?? 使用數(shù)組保存二叉樹結(jié)構(gòu),方式即將二叉樹用 層序遍歷 方式放入數(shù)組中。 一般只適合表示完全二叉樹,因為非完全二叉樹會有空間的浪費。 這種方式的主要用法就是堆的表示。 已知雙親(parent)的下

    2023年04月16日
    瀏覽(21)
  • 「數(shù)據(jù)結(jié)構(gòu)」優(yōu)先級隊列

    ?? 個人主頁 :Ice_Sugar_7 ?? 所屬專欄 :Java數(shù)據(jù)結(jié)構(gòu) ?? 歡迎點贊收藏加關(guān)注哦! 優(yōu)先級隊列底層是用堆實現(xiàn)的 ,關(guān)于堆的實現(xiàn),之前的文章已經(jīng)詳細介紹過了,文章鏈接:二叉樹1:堆的實現(xiàn) 方法 功能 PriorityQueue() 創(chuàng)建一個空的優(yōu)先級隊列,默認容量是11 PriorityQueue(int i

    2024年02月20日
    瀏覽(46)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包