Індивідуальне завдання
Створіть багатопоточну симуляцію піццерії:
- в піццерію випадково приходять замовлення: можна замовити один із 2-х розмірів піцци
- замовлення приймає диспетчер та передає завдання помічникам кухаря.
- кожен помічник кухаря виготовляє одну із компонент (тісто, сир, овочі, соус) і після завершення роботи передає її шеф-кухарю.
- шеф-кухар готує із компонент піццу та передає її в службу доставки.
- диспетчер, помічник кухаря та шеф-кухар опрацьовують замовлення послідовно у порядку надходження,
- час від часу кожен співробітник випадковим чином робить маленьку перерву (випити води, пообідати, вийти в туалет).
Основна задача - за допомогою механізму синхонізації правильно закодувати послідовність роботи:
- Шеф-кухар починає виготовлення піцци тільки якщо готові всі компоненти.
Порада: використовуйте конструкцію synchronized в Java, щоб керувати чергами повідомлень.