问题标签 [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 投票
12 回答
48580 浏览

c# - c# 为.NET Queue 类添加 Remove(int index) 方法

我想使用 .NET 框架 (3.5) 中描述的通用队列类,但我需要一个 Remove(int index) 方法来从队列中删除项目。我可以使用扩展方法实现此功能吗?有人愿意指出我正确的方向吗?

0 投票
4 回答
34482 浏览

c# - C#:将对象添加到队列时触发事件

每当将对象添加到Queue<Delegate>.

我创建了一个扩展的新类Queue

然后从另一个类附加事件,如下所示:

但是,每当我将一个对象 ( eventQueue.Enqueue(something)) 加入队列时,附加的事件就不会被触发。

我在这里想念什么?

0 投票
5 回答
2248 浏览

c++ - 线程安全队列有问题吗?

我正在尝试使用 c++ 中的 pthreads 编写线程安全队列。我的程序在 93% 的时间里都能正常工作。另外 7% 的时间它会吐出垃圾,或者似乎睡着了。我想知道我的队列中是否存在上下文切换会破坏它的缺陷?

这可以像这样使用:

如果有人看到这个问题,请说出来:)

0 投票
3 回答
784 浏览

frameworks - 有没有好的基于工作队列的框架?

我一直在考虑编写一个基于工作队列概念的 Web 框架(想想 Struts、Ruby on Rails、Seaside)。我正在寻找是否有人以前做过这样的框架。

我很高兴查看用于处理请求和返回结果的框架,但不是Web (HTTP)。我不是在寻找一个工作队列系统(想想 Starling、Workling、Amazon 的队列服务、JMS)本身,而是一个在其上运行的处理系统。

我对语言不是那么挑剔;我最感兴趣的是评论和/或经验教训。(因此,仍处于起步阶段的基于队列的系统可能不太受关注。)

0 投票
5 回答
2067 浏览

python - 简单独特的非优先队列系统

我正在用python开发一个简单的网络爬虫,我不想做一个简单的队列类,但我不太确定最好的开始方式。我想要只包含要处理的唯一项目的东西,以便爬虫在每次脚本运行时只爬取每个页面一次(只是为了避免无限循环)。任何人都可以给我或指向我可以运行的简单队列示例吗?

0 投票
4 回答
2129 浏览

c++ - C++ 绑定方法队列(任务管理器/调度器?)

是否有方法/模式/库可以做类似的事情(在伪代码中):

这样我就可以做类似的事情

这样它就会调用:

或者这是一个不可能的梦想?

如果有一种方法可以添加许多参数来调用 - 那将是最好的。

Doug T. 请看这个优秀的答案!

Dave Van den Eynde的版本也很好用。

0 投票
5 回答
4250 浏览

c# - FileInfo[] 数组,希望将其添加到队列中,以便每个文件只处理一次并删除

我在对象 FileInfo[] 中有一个文件数组。

在我的服务中,我目前正在遍历文件并处理它们。

我想遍历文件,并在处理它们时将它们从集合中删除。

我认为队列是理想的选择,但是如何循环遍历队列集合?

(以前从未在 C# 中使用过队列)

0 投票
4 回答
4321 浏览

c# - 队列排序

我有一个项目数组,排序后最旧的项目在数组中是第一个。

我想从数组中加载一个队列,这样当我弹出队列中的项目时,最旧的项目首先出现。

我怎样才能做到这一点?

0 投票
4 回答
809 浏览

windows - 用于从文件放置打印和存档的 Windows 实用程序

现在,我可以继续使用FileSystemWatcheretc 编写此代码,但在开始编码之前 - 我想知道是否有更好的选择可以重复使用(而不是重新发明)。

从我的网络服务器,我想将文件(要打印)作为队列放入网络共享中(排序不是很重要)。理想情况下,另一台机器上的 Windows 服务(或其他客户端)会选择该文件(格式为 tbc),将其打印到预先安排的打印队列中,然后存档该文件。

非常简单的场景 - 我只是不想重新发明它。有什么建议么?

0 投票
1 回答
821 浏览

queue - 多级队列设计

我正在设计一个系统来处理外部 Web 服务。该服务限制在特定时间段 (T) 内可以发出的请求数。该系统允许对一定数量的请求 (R) 进行批处理。该服务支持一定数量的操作 (O)。

我的代码将处理来自用户的未知数量的请求(此时我真的不知道,可能是每天一个请求,可能是每秒数千个请求,但我需要在假设每秒数千个的情况下构建它)。这些结果将在数据库中缓存一段时间。当数据库记录过期时,系统将需要再次从 Web 服务请求数据。

我只能通过一个IP地址和一个帐户访问Web服务(没有作弊,每种操作类型获得一个帐户,或每种操作类型一台机器)。该系统将(希望)全部在单个服务器上运行。

我正在尝试做的(断断续续思考了几个星期,但没有任何我喜欢的结果)是想出一个系统,其中:

  • 重复请求被合并(重复意味着它们具有相同的请求数据)
  • 用户请求优先于系统请求
  • 可以将系统请求更改为用户请求(数据库更新在队列中,并且用户正在请求相同的数据)
  • 如果没有针对特定操作的 R 用户请求,则其余部分取自系统请求
  • 用户请求的处理顺序与它们进入的顺序相同(除了一旦处理了用户请求,就会处理相同类型的 R 个请求)。

因此,例如,T 为 1 秒,R 为 3,O 为 2。以下请求进入系统:

处理重复项后,您将得到以下信息:

请求应按以下顺序处理:

我认为可能会有 3-7 种操作类型。某些操作类型会比其他操作类型有更多的请求。系统请求的数量可能会大于用户请求。

是否有处理此类问题的通用方法?模式还是技术?我是不是想多了(不幸的是,在它启动并运行之前我无法获得使用统计信息,我什至无法合理地猜测它们会是什么)?

我试图避免的主要事情是:

  • 让系统请求处理用户请求(系统请求可能会等待数周,用户请求必须尽快处理)
  • 在数据缓存在数据库中期间,没有两次发出相同的请求