Приоритетное жонглирование очереди - PullRequest
0 голосов
/ 22 ноября 2011

У меня есть одна коллекция предметов, которые требуют периодического обновления.Элементы имеют вес в том, что некоторые должны обслуживаться чаще, чем другие.Тем не менее, я должен обслуживать все предметы в течение определенного времени (то есть я не хочу, чтобы были предметы, которые никогда не будут обработаны).

Если бы у всех предметов был одинаковый вес, простого FIFO было бы достаточно.Но те, которые имеют более высокий приоритет, должны быть в состоянии включить, поэтому я считаю, что приоритетная очередь указана.Вопрос в том, что определяет приоритет?Я полагаю, что это функция взвешивания и времени с момента последнего обслуживания.Но как определить форму этой функции, чтобы ни один элемент не оставался внизу кучи?

1 Ответ

0 голосов
/ 22 ноября 2011

Я бы отсортировал по времени в очереди, а затем по приоритету.При добавлении нового элемента в очередь применяется пороговое значение, основанное на времени, чтобы при добавлении нового элемента его нельзя было разместить выше тех, которые превысили максимально допустимое время в очереди.

...