Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.09.2011, 16:58   #1
foldel
Новичок
Джуниор
 
Регистрация: 31.08.2011
Сообщений: 2
По умолчанию Объясните задание

Пожалуйста объясните суть задания:

Менеджер задач
Терминология
Задача – это код, который должен быть выполнен относительно определенного времени. Под кодом подразумевается виртуальный метод класса.
Требования
1) Возможность добавить задачу с привязкой к определенному времени.
2) Возможность добавлять разные задачи, определенные пользователем (программистом), которые выполняют разные действия.
3) Возможность удалить задачу.
4) Может быть несколько задач, назначенных на одно и то же время, в таком случае первой выполняется та, которая была добавлена первой.
5) Задачи выполняются только при вызове определенного метода менеджера задач (назовем его условно run(t), таймера и потоки не использовать). Метод должен принить значение времени по отношению к которому надо выполнять задачи
6) Все задачи, время которых меньше или равно t, выполняются в порядке возрастания времени учитывая (4) за один вызов метода run(t) менеджера задач.
7) Код должен быть работоспособным в многопоточной среде (быть thread safe)
8) Код должен быть высокопроизводительным, то есть расчитанным на минимальное время добавления новой задачи, выполнения текущих задач и удаления задачи.
9) Время задается типом long (Unix time).
10) Менеджер должен быть в отдельном пакете и не должен зависеть от других пакетов или классов кроме как JDK.
11) Для тестирования работы менеджера нужен UI, который может быть как консольным так и оконным (AWT, Swing, etc). Можно считывать данные из файла для упрощения теста.
12) UI не должен быть в том же пакете, и тем более в том же классе или файле, что и менеджер.
13) Код должен быть документирован (inline documentation).
14) Код должен быть отформатирован согласно общему стилю. Форматирование не должно портиться при просмотре исходников с разной величиной символа табуляции (2, 4, 8 – пробелов).
Пример работы:
1) Добавляем задачу 1 на время 10
2) Добавляем задачу 2 на время 8
3) Добавляем задачу 3 на время 8
4) Добавляем задачу 4 на время 15
5) Добавляем задачу 5 на время 7
6) Добавляем задачу 6 на время 12
7) Вызываем run(10) – выполняются задачи: 5, 2, 3, 1
8) Добавляем задачу 7 на время 5
9) Добавляем задачу 8 на время 5
10) Удаляем задачу 7
11) Вызываем run(12) – выполняются задачи: 8, 6
12) Вызываем run(20) – выполняются задачи: 4
foldel вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Объясните задание, не могу понять что от меня хотят) Aerial Общие вопросы C/C++ 5 11.12.2010 09:19
Паскаль.Задание на строки,не понимаю как его сделать,если кто может,объясните... Меффистоф Помощь студентам 4 25.08.2010 10:05
Объясните Alexsssandr Помощь студентам 2 17.02.2010 20:50
Объясните!!! Dawystrik Общие вопросы Delphi 1 20.03.2009 12:07