c# でイベント パブリッシャーを使用して、多数のサブスクライバーにグローバル リソースを提供するという問題が発生しました。資源はライバル財であるため、すべての消費者に十分な量がない可能性があります。
想像するモデルは、市場に到着する食材の出荷です。多くのシェフが各食材を待っており、それぞれが提供されるたびに、それぞれを購入するかどうかを決定する必要があります. シェフたちは、誰もがそれぞれの食材を試してみる必要があることに同意し、各アイテムの競争を望んでいないため、ある種の優先順位システムが存在する必要があると判断しました.
1) この種のシナリオに名前はありますか?
2)これを公正に実装して、各加入者が原料を入手する機会を均等にするための良い方法は何ですか? リソースを要求するかどうかの決定は、サブスクライバーに依存することに注意してください。
3) 優先度は固定優先度を必要としないことに注意してください。各イベントの前にサイコロを振る場合は、毎回注文を作成できます。これを事前に計算することもできます。このようなソリューションに欠点はありますか?
とにかく、これは宿題の質問ではありません。誰かがこれを見たことがあるのか 、それとも一般的な解決策をこれを解決する形にキャストできるのか疑問に思っています.