Chuck O'Toole
Все мои коллеги правы в том, что касается информатики. Приоритетные очереди позволяют вводить элементы в нужном порядке для удаления. Очереди с несколькими очередями / несколькими серверами позволяют отслеживать совершенно разные приоритеты для важных транзакций / элементов.
Приоритетные очереди хорошо работают в компьютерных приложениях, но ужасно терпят неудачу, когда применяются к реальным людям. Вы когда-нибудь пытались воспользоваться своей "картой приоритетного клиента" в банке или, что еще хуже, в очереди за билетами на концерт? Это называется "прыжки в линию", и вы навлечете на себя гнев всех остальных в очереди. Вы будете вынуждены объяснять свой" приоритет "всем остальным в очереди, и именно они решат, действителен ли ваш" приоритет " или вас вышвырнут из очереди.
Мульти-очередь (будь то один или несколько серверов) лучше всего работает в приложениях "люди". Рассмотрим билетную кассу MGM Grand в Фоксвудсе, где есть линия" general ticket pick-up", змеящаяся через вестибюль, и линия "Platinum and Diamond Elite", которая очень короткая и имеет своего собственного билетного агента. Никто не спорит с вами, когда вы попадаете в эту очередь, билетный агент проверяет ваш статус на стойке регистрации и вежливо просит вас перейти в другую линию, если вы находитесь в неправильной очереди. Все течет гладко и приятно.
Итак, если вы работаете с холодными, бесчувственными приложениями, которым все равно, если перед ними прыгает другое приложение / задача / транзакция / поток, приоритетные очереди-это правильный путь. Если вы работаете с людьми, отделяйте элиту от большой немытой публики всякий раз, когда это возможно (мульти-очередь).
Только мои 2 цента стоят :)
Andreas Gieriet
Привет Чак,
уходя от эмоций мир людей стоя в очереди; -), я считаю мульти-очереди деталь реализации приоритетной очереди концепция.
С другой стороны, я также испытал в "реальной жизни", что приоритетная очередь с одной очередью работала хорошо: "более приоритетные" люди выбирались из очереди "диспетчером"-это в основном зависит от уровня принятия приоритетов для отдельных лиц или органа, осуществляющего диспетчеризацию (например, см. сортировку в отделении неотложной помощи).
Овации
Энди