Создан заказ №3720550
11 марта 2019
Задача про трех курильщиков (на C)
Как заказчик описал требования к работе:
Изначально есть три заядлых курильщика, сидящих за столом. Каждому из них доступно бесконечное количество одного из трёх компонентов: у одного курильщика — табака, у второго — бумаги, у третьего — спичек. Для того чтобы делать и курить сигары, необходимы все три компонента.
Также, кроме курильщиков,
есть некурящий слуга, помогающий им делать сигареты: он недетерминированно выбирает двух курильщиков, берёт у них по одному компоненту из их запасов и кладёт их на стол. Третий курильщик забирает ингредиенты со стола и использует их для изготовления сигареты, которую он курит некоторое время. В это время слуга, завидев стол пустым, снова выбирает двух курильщиков случайным образом и кладёт их компоненты на стол. Процесс повторяется бесконечно.
Курильщики, по условию проблемы, честные: они не прячут компоненты, выданные слугой, — они лишь скручивают сигарету тогда, когда докурят предыдущую. Если слуга кладёт, например, табак и бумагу на стол, пока поставщик спичек курит, то табак и бумага останутся нетронутыми на столе, пока поставщик спичек не докурит сигарету и только затем не возьмёт табак и бумагу.
Имеется 4 процесса, они могут быть разделены на 2 группы: курильщики и маклер. Чтобы курить, курильщикам нужно 3 ресурса: табак, бумага и спички. У одного курильщика только один ресурс. У маклера есть все 3 ресурса. В один момент времени он выставляет на рынок 2 ресурса. Как организовать взаимодействие без возможных дедлоков.
Маклер выкидывает 2 товара, возбуждаются переходы ts (ждет, хватает ресурсы), tq (курит), tl(готовит сигареты
подробнее
Заказчик
заплатил
заплатил
20 ₽
Заказчик не использовал рассрочку
Гарантия сервиса
Автор24
Автор24
20 дней
Заказчик принял работу без использования гарантии
12 марта 2019
Заказ завершен, заказчик получил финальный файл с работой
5
Задача про трех курильщиков (на C).jpg
2021-04-22 14:46
Последний отзыв студента о бирже Автор24
Общая оценка
4.3
Положительно
Было несколько заказов у автора. До него никто не хотел брать, достаточно сложные задачи. Автор всё сделал быстро и качественно, очень рекомендую!