【发布时间】:2012-06-29 22:08:58
【问题描述】:
我正在实施一项用于任务处理的服务,我想管理服务质量,并为某些类型的任务提供更高的优先级。有四种类型的任务,因此我将使用四个队列,每种类型的任务一个。
- 创建四个处理线程(每个队列一个)并为其分配不同的优先级是否方便?
- 还是应该让处理线程主要处理优先级较高的队列?
- 还有其他方法吗?
【问题讨论】:
-
这种事情真的没有通用的答案。太多取决于您将在哪种硬件上运行它(例如多少个处理器/内核)以及每个任务的可并行化程度。
-
任务是相互独立的(即使是相同类型的任务)。使用优先级我应该简单地确保在某个时间间隔内,处理的任务数量(某种类型)与其优先级成正比(假设队列中有相同数量的任务)。