Frage

Ich frage mich, ob es möglich ist, eine Warteschlange zu verwenden (insbesondere als ConcurrentQueue) als Quelle eines IObservable? So etwas wie;

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

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

Ich denke, es ist nicht wirklich Sinn machen, denn nichts aus der Warteschlange entfernt wird. Ich versuche, einen nicht-blockierenden Prozess zu implementieren, die zu „Botschaften“ Aufschieben Beobachter abonnieren können, daher die Verwendung einer Warteschlange. Ich bin sicher, ich soll diese in der Lage sein, mit RX zu tun, kann aber offenbar nicht meinen Kopf um es zu bekommen!

würde ich in allen möglichen Vorschlägen zu interessieren, wie diese umgesetzt werden könnten. Dank!

War es hilfreich?

Lösung

Du hast Recht, eine Queue Umwandlung (gleichzeitig oder einfach, spielt keine Rolle) wäre es nur aufzählen, aber nicht de-Warteschlange. „Real“ Implementierung ist möglich, aber komplizierter - der Link auf eine ähnliche Frage sieht ich auf dem RX-Forum gestellt (das ist immer noch eine bessere Informationsquelle über RX zu Stackoverflow Vergleich):

Wie Implementieren ein einziger Arbeiter Verbraucher Produzent Warteschlange RX mit?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top