我想为生产者/消费者情况实现基于循环的调度,其中消费者可能在运行时发生变化。
一开始我用了一个Queue
包含所有消费者的 a ,将一个出队并立即再次将其入队以进行循环集合,效果很好。每当有新的消费者注册时,我都会将其排入队列 -> 完成。
然而,在运行时(当他们发送取消订阅消息时)移除消费者的问题是具有挑战性的。队列不提供 Remove() 方法,但是,我需要将它们完全从队列中删除 - 与消费者在队列中的当前位置无关。显然,Queue
“界面”并不是我所需要的。
C# 中是否有某种我没听说过的“循环集合”?