Задание #4: Фабрика

Постановка задачи

Реализовать приложение, эммулирующее работу фабрику по сборке изделений.

Требования

Основные участники процесса: поставщики деталей, сборщики изделий, склад(ы) готовых изделий, склад(ы) деталей.

Каждый сборщик и поставщик должен работать в отдельном потоке. Для синхронизации и ожидания событий необходимо использовать мониторы синхронизации (notify(), notifyAll(), wait()). Наличие процедуры ожидания в виде цикла автоматически ведет к непринятию задания.

Каждое изделие или детать - это отдельный объект. Хранить просто количество изделий/деталей нельзя - необходимо хранить непосредственно объекты.

Варианты усложнения: