我有一个问题,我在 c# 中有一个事件发布者,为一群订阅者提供全局资源。该资源是一种竞争商品,因此可能无法满足所有消费者的需求。
想象的模型是到达市场的一批原料。许多厨师正在等待每种食材,并且必须在每种食材上菜时决定是否购买其中的一些。厨师们同意每个人都应该对每种成分都有机会,而且他们不希望为每种食物争分夺秒,因此他们决定应该存在某种优先级系统。
1)这种场景有名字吗?
2)以公平的方式实现这一点的好方法是什么,所以每个订阅者都有平等的机会获得成分?请记住,是否请求资源的决定取决于订阅者。
3) 请注意,优先级不需要固定的优先级。如果您在每次活动前掷骰子,则每次都可以创建一个订单。您也可以预先计算这一点。这种解决方案有什么缺点吗?
无论如何,这不是一个家庭作业问题。只是想知道是否有人已经看到了这一点,或者是否能够将通用解决方案转换为解决此问题的形式。