Я задавался вопросом, возможно ли использовать очередь (в частности, как ConcurrentQueue) в качестве источника IObservable? Что-то вроде;
Queue = new ConcurrentQueue<IMessage>();
var xs = Queue.AsEnumerable().ToObservable();
xs.Subscribe((IMessage msg) =>
{
Console.WriteLine("Msg :" + msg.subject);
});
Я думаю, это не имеет смысла, потому что ничего не снимается. Я пытаюсь реализовать неблокирующий процесс, который может подписаться на «сообщения», передаваемые наблюдателям, следовательно, использование очереди. Я уверен, что должен быть в состоянии сделать это с RX, но, похоже, не могу обойти это!
Меня будут интересовать любые предложения о том, как это можно реализовать. Спасибо!