问题标签 [queue]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
938 浏览

queue - 在排队论中,处理时间和平均排队延迟之间有什么关系?

考虑一个系统,其中作业按 FIFO 顺序排队和处理。它们目前平均等待 N 秒才能被处理。如果作业平均需要 M 秒来处理,如果我们将处理时间减少到 M/2 秒,对 N 会有什么影响?

0 投票
4 回答
823 浏览

wcf - REST、WCF 和队列

我使用 WCF 创建了一个 RESTful 服务,它计算一些值,然后向客户端返回响应。

我预计会有很多流量,所以我不确定是否需要手动实现队列,或者为了处理所有客户端请求不需要它。

实际上,我从客户端接收测量值,这些测量值必须存储到数据库中——每个客户端每 200 毫秒发送一次测量值,因此如果有多个客户端,可能会有很多请求。

以及对接收到的数据执行的其他操作。例如,客户端可以发送指令“给我最近 200 次测量的平均值”,因此计算该值可能需要一些时间,同时同一请求可能来自另一个客户端。

如果有人能就如何使用 WCF 创建可靠的服务提供任何建议,我将不胜感激。

谢谢!

0 投票
11 回答
194945 浏览

c++ - 如何有效地清除 std::queue?

我正在使用 std::queue 来实现 JobQueue 类。(基本上这个类以先进先出的方式处理每个作业)。在一种情况下,我想一次性清除队列(从队列中删除所有作业)。我在 std::queue 类中看不到任何可用的明确方法。

如何有效地实现 JobQueue 类的 clear 方法?

我有一个简单的循环弹出解决方案,但我正在寻找更好的方法。

0 投票
3 回答
9391 浏览

c++ - enqueue() 方法向队列中添加一个元素:如何在 C++ 中实现?

我很难尝试实现此方法,因为 C++ 中的数组下标从零开始。该方法将一个元素添加到队列中。您可以使用 f(前)和 r(后)指针以及大小为 n 的顺序列表。如果您发现需要额外的变量,请随意。谢谢。

那是我的尝试,但我知道它是错误的:

如何使用指针?如果我开始他们指向 NULL 我不能使用指针算术。

0 投票
7 回答
81907 浏览

python - Queue.Queue 与 collections.deque

我需要一个队列,多个线程可以将内容放入其中,并且多个线程可以从中读取。

Python 至少有两个队列类,Queue.Queuecollections.deque,前者似乎在内部使用后者。两者都声称在文档中是线程安全的。

但是,队列文档还指出:

collections.deque 是无界队列的替代实现,具有不需要锁定的快速原子 append() 和 popleft() 操作。

我想我不太明白:这是否意味着双端队列毕竟不是完全线程安全的?

如果是这样,我可能无法完全理解这两个类之间的区别。我可以看到 Queue 添加了阻塞功能。另一方面,它失去了一些双端队列特性,比如对 in-operator 的支持。

直接访问内部双端队列对象是

x in Queue().deque

线程安全?

另外,当双端队列已经是线程安全的时,为什么队列要为其操作使用互斥锁?

0 投票
4 回答
2096 浏览

.net - 请建议.Net Job/Task Queue

我需要建立一个处理数据的服务网络。每个服务都需要自己的任务队列。初步我将需要 QueueTask、CancelTask​​、StopTask、GetTaskStatus 和 GetTaskProgress 等操作。

我正在寻找任务队列的框架或完全构建的实现。

此时我知道一些选择:

MSMQ - 可以满足我的需求,但需要太多编码才能获得支持。

Castle.Shediling - 调度解决方案。它提供了可插入的触发器,我可以实现它来满足我的需求。但是仍然有太多的编码。

ServiceBUS - 例如MassTransit。但是,我不确定它们如何支持长队列并且仍然需要管道代码。

一个理想的解决方案将是提供任务队列托管的框架。那将能够重新启动而不会丢失任务。这将可以从网络访问,例如作为 SOAP 端点。

问题实际上是你用什么,为什么?你建议使用什么?

0 投票
6 回答
858 浏览

c++ - 为什么优先级队列大多使用 0 作为最重要的优先级?

为什么大多数优先级/堆队列实现为 0 是最高优先级?我假设我错过了一些关键的数学原理。当我最近实现自己的优先级队列时,如果优先级随整数值上升,编写插入函数似乎更容易,但显然比我聪明的人认为它应该采用另一种方式。

有任何想法吗?

0 投票
1 回答
3979 浏览

python - 离散事件排队模拟

我一直在尝试实现单个服务器队列。我已经将Norm Matloff 的 Simpy 教程中的一些伪代码改编为 Python,代码在这里。现在我正在努力寻找某种方法来计算工作/客户的平均等待时间。

在这一点上,我的大脑已经将自己打成一个结!任何指针、想法、提示或伪代码将不胜感激。

0 投票
3 回答
3086 浏览

java - 合并队列条目的好方法

我有一个线程池,它们从队列中获取任务。通常,少量线程能够保持队列为空。偶尔,特别大的突发事件会使队列大小在一段时间内保持在零以上,但不会持续很长时间。

我担心的是重复的事件或携带过时的数据的事件。在高容量期间,此类事件可能会在队列中并存一小段时间。我希望能够将这些混为一谈,这样我就可以减少浪费在工作上的时间。

合并这样一个队列的好方法是什么?我可以在插入时通过从头到尾迭代并搜索要替换的候选者来合并,但这似乎太暴力了。如果您有代码或库建议,请记住我使用的是 Java。

0 投票
1 回答
4228 浏览

java - 进程内 ActiveMQ 生产者/消费者示例?

我正在研究在我的应用程序中使用 ActiveMQ 作为嵌入式进程内消息队列,但我对如何启动这样的应用程序有点困惑。我的设想是这样的(当然是伪代码):

我试图组装一个简单的版本,但我一直坚持如何编写生产者和消费者,以使他们永远工作,或者直到被告知退出。做这个的最好方式是什么?我说的是线程方面。我需要/想要在自己的线程中产生什么,等等......

我对基于消息队列的应用程序完全陌生,所以请详细说明您的示例。