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