سؤال

وكنت أتساءل إذا كان من الممكن استخدام طابور (على وجه التحديد كما ConcurrentQueue) كمصدر للIObservable؟ شيء من هذا القبيل؛

  Queue = new ConcurrentQueue<IMessage>();
  var xs = Queue.AsEnumerable().ToObservable();

  xs.Subscribe((IMessage msg) =>
     {
        Console.WriteLine("Msg :" + msg.subject);
     });

واعتقد انه لا يجعل حقا معنى لأنه قيد dequeued شيء. أحاول تنفيذ عملية حجب غير التي يمكن الاشتراك في "الرسائل" التي دفعت للمراقبين، وبالتالي استخدام طابور. أنا متأكد من أنني يجب أن تكون قادرة على القيام بذلك مع RX، ولكن لا يمكن أن يبدو للحصول على رأسي من حوله!

ويهمني ان تكون مهتمة في أي اقتراحات بشأن الكيفية التي يمكن أن ينفذ هذا. شكرا!

هل كانت مفيدة؟

المحلول

وأنت على حق، وتحويل قائمة انتظار (المتزامنة أو بسيطة، لا يهم) أن تعداد فقط، ولكن ليس دي الانتظار. تنفيذ "ريال مدريد" من الممكن، ولكن أكثر تعقيدا - راجع الرابط على سؤال مماثل سألت في المنتدى RX (والذي لا يزال أفضل مصدر للمعلومات عن RX مقارنة ستاكوفيرفلوو):

كيفية تطبيق طابور عامل واحد منتج المستهلك باستخدام RX؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top