我正在寻找一种适用于“工作中的洗碗机”问题的算法。
虽然可以将脏咖啡杯等放入其中很棒,但您很快就会遇到“盘子的状态如何?” 困境。如果你走到厨房,你能从洗碗机里拿盘子,因为它们很干净,只是没有收起来吗?您可以将脏盘子放入洗碗机中,否则会使里面的干净盘子失效吗?
这似乎是一个必须具有编程等价物的问题。您有一个异步触发的共享进程,并将对象从一种状态移动到另一种状态。您需要能够在任何给定时间了解对象的状态。可以应用哪些算法?
我的开始选择是在“干净”和“脏”的洗碗机上创建一个翻转标志。当洗碗机清空时,必须切换到“脏”,运行时必须切换到“清洁”。该算法有问题吗?有没有更好/更不容易出错的?
注意:请不要使用轮询时间表的算法...