![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 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 |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Объясните задание, не могу понять что от меня хотят) | 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 |