相关疑难解决方法(0)

是否可以在Rx中的不同线程上调用订阅者的OnNexts?

我是Rx的新手.我想知道是否可以向不同的订阅者发送消息,以便它们在不同的线程上运行?IObserable如何控制呢?简单的Subject实现,据我所知,它在一个线程上一个接一个地调用订阅者.


public class Subsciber : IObserver<int>
{
    public void OnNext(int a)
    {
        // Do something
    }
    public void OnError(Exception e)
    {
        // Do something
    }
    public void OnCompeleted()
    {
    }

} 

public static class Program
{
   public void static Main()
   {
       var observable = new <....SomeClass....>();
       var sub1 = new Subscriber();
       var sub2 = new Subscriber();
       observable.Subscribe(sub1);
       observable.Subscribe(sub2);
       // some waiting function 
   }
}
Run Code Online (Sandbox Code Playgroud)

如果我使用Subject作为'SomeClass',那么在sub1的OnNext()完成之前,不会调用sub2的OnNext().如果sub1花了很多时间,我不希望它延迟sub2的接收.有人能告诉我Rx如何为SomeClass提供这种实现.

c# system.reactive

3
推荐指数
1
解决办法
3922
查看次数

标签 统计

c# ×1

system.reactive ×1