【队列c#版】教程文章相关的互联网学习教程文章

如何异步添加元素到C#中的队列?【代码】

public void EnqueueTask(int[] task) {lock (_locker){_taskQ.Enqueue(task);Monitor.PulseAll(_locker);} }因此,这里我将元素添加到队列中,然后线程会对其进行一些处理.如何异步将项目添加到队列中?解决方法:如果您使用.net V4来查看新的线程安全集合,则它们几乎没有阻塞,因此可以适当地避免使用异步添加.

c#-使用链接列表实现队列-创建链接列表,但在打印后停止工作【代码】

这是我到目前为止所拥有的.我已经生成了一个链表,但是当程序打印出链表时,会弹出一个对话框,说我的程序已停止工作.我正在使用Visual Studio.我需要使用链表实现队列.我可以创建它并打印出来,但是当它打印出来时,程序停止了.我已经尝试了所有方法,但似乎无法解决此错误.当我尝试在链接列表类中使用其他方法但没有包括这些方法时,也会发生这种情况.using System; using System.Collections.Generic; using System.Linq; using System...

c#-使用Azure WebJobs / Azure函数将消息安排在服务队列上吗?

我们有一个Cloud Services项目,并设置了工作人员角色.在工作角色中,我们在特定时间执行任务,并在特定时间将消息放入服务队列. 如果我们启动并运行了多个工作角色,就会出现问题,并且要安排消息多次调度,并且我们必须设置阻止以确保一次只有一个工作角色正在执行任务. 相反,我想做的是使用Azure WebJobs或Azure Functions.并让Azure WebJob / Functions安排消息,工作角色可以在特定时间读取消息并执行. 想知道此方案的最佳实践是什么...

c#-在Azure队列上调用CreateIfNotExistsAsync()对性能的影响

我应该在Azure队列上的每次读/写之前调用CreateIfNotExistsAsync()吗? 我知道它会导致REST调用,但是它在队列上执行任何IO吗? 我正在将.Net库用于Azure Queue(如果此信息很重要).解决方法:该方法所做的只是尝试创建队列并捕获AlreadyExists错误,您可以通过在尝试访问队列时捕获404来轻松地复制自己.势必会影响性能. 更重要的是,它增加了您的成本:从Understanding Windows Azure Storage Billing – Bandwidth, Transactions, and...

C#请求队列

我的Web服务使用另一个API来获取数据.我缓存数据,清理数据,并在用户发出请求时将其返回给用户.目前,我收到大量请求,并且因为我每秒只能访问2次数据API,所以我又收到了错误提示,这意味着有些用户无法获得数据,而其他用户却可以. 我想做的是将每个请求添加到队列中,并以0.4秒的睡眠时间一一处理它们.他的队列必须一直运行,以确保处理所有请求. 如何在ASP.NET 3.5中执行此操作?解决方法:简要地说,我建议您创建一个Windows服务来处理M...

c#-Microsoft消息队列和资源发布的最佳做法

我想知道您在使用和处理消息队列时的最佳做法是什么.如果在可视化部分中特别是在处理部分中有代码,我也将不胜感激.该语言使用C#或任何.NET语言都可以.正在使用的队列是Microsoft消息队列. 目前,我遇到一个错误,即我们的系统资源不足,但是硬件规格的内存和磁盘空间很高. 我遇到的特定错误消息是:没有足够的资源来执行操作. 非常感谢在此问题上的任何重要或相关帮助.在此先感谢您的时间.解决方法:在负载测试中,我们遇到了一个难题,并...

分享一个c#写的开源分布式消息队列equeue【图】

原文链接:https://my.oschina.net/Raymond/blog/226063 前言 本文想介绍一下前段时间在写enode时,顺便实现的一个分布式消息队列equeue。这个消息队列的思想不是我想出来的,而是通过学习阿里的rocketmq后,自己用c#实现了一个轻量级的简单版本。一方面可以通过写这个队列让自己更深入的掌握消息队列的一些常见问题;另一方面也可以用来和enode集成,为enode中的command和domain event的消息传递提供支持。目前在.net平台,比较好...

C# 编程中的堆栈(Stack)和队列(Queue)【图】

原文链接:http://www.cnblogs.com/1312mn/p/9155715.html一、什么是堆?(Heap) 堆是无序的,是一片不连续的内存域,由用户自己来控制和释放,如果用户自己不释放的话,当内存达到一定的特定值时,通过垃圾回收器(GC)来回收。 是程序运行期间动态分配的内存空间,你可以根据程序的运行情况确定要分配的堆内存的大小。 二、什么是栈?(Stack) 栈是有顺序的,是一片连续的内存域,保持着先进后出的原则,由系统...

c# – 构建Azure工作者角色以处理来自~10个队列的数据的最佳方法【代码】

我有一个辅助角色,将数据抛入大约需要处理的10个队列中.有很多数据 – 可能每秒大约10-100条消息在各种队列中排队. 队列包含不同的数据并分别处理它们.特别是有一个非常活跃的队列. 我现在设置它的方式,我是一个单独的工作者角色,产生10个不同的线程,每个线程执行一个方法,有一个while(true){从队列获取消息并处理它}.每当备份队列中的数据时,我们只需启动更多这些进程,以帮助加快队列中数据的处理速度.此外,由于一个队列更活跃,我...

c# – 毒物队列的截止日期【代码】

如何在azure存储队列中将毒药队列消息到期日期更改为最大值目前默认的到期时间是7天.解决方法:AFAIK,Azure队列消息允许的最长到期时间为7天,这也是默认值. 毒性队列也是名为{original-queue-name} -poison的普通队列.例如,如果Azure Webjobs SDK处理超过最大尝试次数的队列消息,则相关消息将被移动到中毒队列,并且此过程由SDK处理. 根据我的理解,您需要显式处理有害消息,而不是永久地将消息存储到毒性队列中.您可以遵循的详细信息H...

c# – WCF – 想知道请求队列

我有一个关于WCF请求的简单问题.当多个用户请求相同的进程时,WCF是否自动将请求排队到服务(该服务是单例),即假设我有一个需要一段时间才能完成的功能,并且两个用户调用此函数,WCF会自动执行对请求进行排队,以便在第一个请求完成后再开始处理下一个请求? ?只是想知道解决方法:合同上的服务行为属性定义了如何处理会话,实例和并发.有关详细信息,请参见http://msdn.microsoft.com/en-us/library/ms731193.aspx. 基本上你可以配置它(1...

c# – 如何在不在本地计算机上安装消息队列的情况下从远程计算机读取MSMQ消息?【代码】

有一个远程机器(我们称之为MSMQ机器),它上面安装了MSMQ,并被其他几个进程使用.我想从我的本地机器上读取MSMQ机器的给定专用队列上的消息 – 但是,我想避免在我的机器上安装消息队列,因为我需要的只是检查和监视消息.我不会发送或接收消息(至少不会存储它们),我只是想“偷看”它们. 有没有办法做到这一点?我现在的代码更像这样:public string CheckMessageQueue(machine, queue) {StringBuilder Ret = new StringBuilder();var pa...

c# – 队列的并行处理【代码】

我正在尝试找到一种方法来处理多个线程中的队列,动态调整消费者的数量.基本上这个任务是众所周知的:多个生成器创建消息并将它们提交到队列中,多个消费者处理来自队列的消息.现在,我想到了使用不同组件的不同方法,如System.Collections.Queue.Synchronized,System.Collections.Concurrent.ConcurrentQueue和System.Collections.Concurrent.BlockingCollection,但我无法决定如何正确使用它最高效率所以我很乐意通过您的输入获得一些...

c# – 检查队列中对象的属性【代码】

我需要将对象的名称(测试)与已放入队列的测试的名称进行比较.我的逻辑是使用一个foreach循环,这样对于队列中的每个测试,我可以将用户提供的名称与每个测试的名称进行比较,直到找到匹配项(其中它将告诉用户他们所做的分数)在消息框中的测试). 代码段中的代码不完整;使用带有getter的submittedTests不起作用(在intellisense中没有给我一个选项). 这发生在btnFindTest_Click方法中.这是我到目前为止的代码:using System; using Syste...

c# – 如何从队列中创建IObservable,以便在队列为空时序列不会结束?【代码】

我正在研究使用Reactive Extensions for .NET(Rx)的东西,我想要一个从队列(或类似)获取输入的序列. 我试过这样做:static readonly Queue<DeviceTransaction> TransactionQueue = new Queue<DeviceTransaction>();//...var observableTransactionSource = TransactionQueue.ToObservable();//...observableTransactionSource.Subscribe(transactionObserver);它可以工作到一个点,但是当队列为空时序列完成.我不希望空队列结束序列....