gpt4 book ai didi

c# - 如何管理处理任务中的服务质量?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:32:52 25 4
gpt4 key购买 nike

我正在实现一项任务处理服务,我想管理服务质量,为某些类型的任务赋予更高的优先级。有四种类型的任务,因此我会使用四个队列,每种任务一个。

  • 创建四个处理线程(每个队列一个)并为它们分配不同的优先级是否方便?
  • 还是应该让处理线程主要处理优先级较高的队列?
  • 还有其他方法吗?

最佳答案

我建议有一个线程负责抓取任务。

有很多很多可能的策略。一种是简单地拥有 4 个队列,并尝试在它们之间循环。另一种方法是将任务放入优先级队列(通常使用堆数据结构实现),但如果这样做,请注意所有优先级较高的任务将在任何优先级较低的任务之前执行。第三种是使用基于年龄的优先级队列,这样您就可以首先接受最旧的请求 - 然后人为地使高优先级请求变老。 (我可以建议队列中最老的事物的年龄加上一个常数项。)

要记住的一般要点。如果您分配了足够的容量,您的队列可能会保持相当短。如果您的容量不足,那么队列将无限制地增长,从长远来看,您可以将排队问题视为一种分类而不是优先级排序。但如果可能的话,尝试增加容量而不是巧妙地确定优先级通常会很有效。

关于c# - 如何管理处理任务中的服务质量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11269576/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com