В маленьком ресторанчике, где готовят пиццу, работают отец и три его дочери. Приготовление пиццы требует трех ингредиентов: теста, соуса и сыра. Одна дочь должна непрерывно поставлять тесто, вторая - соус, третья - тертый сыр. Приготовление пиццы происходит следующим образом: первая дочь формирует из теста основу пиццы, после чего вторая дочь намазывает лепешку соусом, а третья - посыпает сыром. Отец берет подготовленную дочерьми пиццу и помещает ее в печь. Используя классические мониторы Хора, программист предложил следующую модель приготовления пиццы с помощью четырех процессов: для отца и для каждой из дочерей.
monitor make_pizza { condition c[3]; make_item(int i){if(i != 0 )c[i-1].wait;<выполнить свою работу>if(i != 3)c[i].signal;else <выставить на продажу> }}Процесс i-й работник i = 0,1,2,3; i=3 — соответствует отцу While (1) {make_pizza.make_item(i);}
Что может произойти в результате такого моделирования?