IObservable としてConcurrentQueue を公開!
-
20-09-2019 - |
質問
私はそれがIObservableのソースとして(特にConcurrentQueueなど)キューを使用することが可能かどうだろうか?ような何か;
Queue = new ConcurrentQueue<IMessage>();
var xs = Queue.AsEnumerable().ToObservable();
xs.Subscribe((IMessage msg) =>
{
Console.WriteLine("Msg :" + msg.subject);
});
私は何がデキューされていないので、それは本当に意味がないと思います。私は、オブザーバーにプッシュされている「メッセージ」、キューのので、使用を購読することができ、非ブロッキングプロセスを実行しようとしています。私はRXでこれを行うことができるはずと確信しているが、それのまわりで私の頭を取得するように見えることはできません!
私はこれを実装することができる方法上の任意の提案に興味があると思います。ありがとう!
解決
あなたはキュー(同時または単純な問題ではない)だけを列挙ではなく、デキューう変換し、正しいです。 「本物」の実装が可能、より複雑である - (まだあるのStackOverflowと比較RX上の情報のより良いソース)私はRXフォーラムに尋ねた同様の質問へのリンクを参照してください。
を使用して、単一の労働者、消費者の生産キュー所属していません StackOverflow