/cbr_task

тестовое для ЦБ

Primary LanguageJava

Напишите программу, эмулирующую работу диспетчера печати документов.

  1. Программа должна быть написана с использованием Java 7.
  2. Диспетчер печати может работать с несколькими типами документов (3-5 типов).
  3. Каждый тип документа должен иметь уникальные реквизиты: продолжительность печати, наименование типа документа, размер бумаги.
  4. Диспетчер помещает в очередь печати неограниченное количество документов. При этом каждый документ может быть обработан, только если в это же время не обрабатывается другой документ, время обработки каждого документа равно продолжительности печати данного документа.
  5. Диспетчер должен иметь следующие методы:
  • Остановка диспетчера. Печать документов в очереди отменяется. На выходе должен быть список ненапечатанных документов.
  • Принять документ на печать. Метод не должен блокировать выполнение программы.
  • Отменить печать принятого документа, если он еще не был напечатан.
  • Получить отсортированный список напечатанных документов. Список может быть отсортирован на выбор: по порядку печати, по типу документов, по продолжительности печати, по размеру бумаги.
  • Рассчитать среднюю продолжительность печати напечатанных