Я хочу разработать базовый планировщик заданий, который будет принимать новые задания по мере их поступления в очередь, планировать их и переупорядочивать задания в соответствии с их требованиями.
Я попытался реализовать Планировщик как Очередь объектов, где объект имеет форму
class queueItem{
job j;
long start,end,duration;
Boolean isStart,isEnd;
}
Таким образом, это достойный подход для имитации планирования заданий или есть лучшая реализация для планирования списка заданий с учетом их начала, конца и продолжительности, скажем, с использованием одного из алгоритмов Pre-Emptive.
Это может быть на любом языке в этом отношении. Просто несколько советов о том, как подойти к нему было бы здорово.
Заранее спасибо 🙂
Это слишком просто для смысла планировщика.
— Каков характер планируемых работ?
— Каковы требования и стратегия для планирования?
В общем, планировщик состоит из нескольких логических компонентов
Чтобы система поддерживала упреждающее планирование, задания должны быть прерываемыми.
Для достойного планировщика, IMO, он должен поддерживать приоритеты, приостанавливать и блокировать события (время и другое событие).
Это может иметь следующую структуру данных:
Нотабене Это может быть слишком упрощенным.