gpt4 book ai didi

queue - 将ConcurrentQueue 公开为IObservable

转载 作者:行者123 更新时间:2023-12-01 04:19:56 25 4
gpt4 key购买 nike

我想知道是否可以使用队列(特别是作为ConcurrentQueue)作为IObservable的源吗?就像是;

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

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


我想这没有什么意义,因为什么都没有出队。我正在尝试实现一个非阻塞过程,该过程可以订阅被推送给观察者的“消息”,因此使用了队列。我确定我应该可以使用RX来做到这一点,但似乎无法绕开它!

我对如何实现这一点感兴趣。谢谢!

最佳答案

没错,转换一个队列(并发或简单,没关系)只会枚举它,而不会出队。 “真实”的实现是可能的,但是更复杂-请参阅我在RX论坛上问的类似问题的链接(与StackOverflow相比,它是RX上更好的信息来源):

How to implement a single worker consumer producer queue using RX?

关于queue - 将ConcurrentQueue <T>公开为IObservable <T>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2262878/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com