Я ищу алгоритм для решения проблемы «посудомоечная машина на работе».
Хотя замечательно иметь возможность ставить в него грязные кофейные чашки и т. Д., Вы быстро сталкиваетесь с «каково состояние посуды?» дилемма. Если вы идете на кухню, можете ли вы взять посуду из посудомоечной машины, потому что она чистая и просто не убрана? Можете ли вы поставить грязную посуду в посудомоечную машину или это лишит ее чистоты?
Кажется, что проблема должна иметь программный эквивалент. У вас есть общий процесс, который запускается асинхронно и перемещает объекты из одного состояния в другое. Вы должны быть в состоянии узнать состояние объектов в любой момент времени. Какие алгоритмы можно применять?
Мой вариант запуска - создать на посудомоечной машине флажок «чистый» и «грязный». Когда посудомоечная машина опорожнена, она должна быть переключена на «грязную», когда она работает, она должна быть включена на «чистую». Есть ли проблемы с этим алгоритмом? Есть ли лучший / менее подверженный ошибкам один?
Примечание. Нет алгоритмов, использующих расписание опроса, пожалуйста ...