曝光ConcurrentQueue 为的IObservable ?
-
20-09-2019 - |
题
我想知道如果它可能使用一队列(具体为ConcurrentQueue),为的IObservable来源?像;
Queue = new ConcurrentQueue<IMessage>();
var xs = Queue.AsEnumerable().ToObservable();
xs.Subscribe((IMessage msg) =>
{
Console.WriteLine("Msg :" + msg.subject);
});
我想这并没有什么意义,因为什么都没有出队。我想实现一个无阻塞的过程,可以订阅“消息”被推到观察员,因此,使用一个队列。我敢肯定,我应该能够与RX做到这一点,但似乎无法让我的头周围!
我很感兴趣的任何建议,就如何实现这一点的。谢谢!
解决方案
您说得对,转换队列(并发或简单的,无所谓)只会枚举,但不是去排队。 “真正”的实现是可能的,但更复杂的 - 看到链接到一个类似的问题,我问的RX论坛(这仍然是信息RX更好的来源比较StackOverflow上):
不隶属于 StackOverflow