不推荐使用Rx Scheduler选项

时间:2014-04-18 16:30:18

标签: c# system.reactive scheduler

我正在尝试使用Reactive Extensions(Rx)。这是我做的一个小例子:

        var query = from number in Enumerable.Range(1, 20) select number;
        var obs = query.ToObservable(Scheduler.ThreadPool);

        obs.Subscribe(Console.WriteLine);

        Console.ReadLine();

当我使用Scheduler.ThreadPoolScheduler.NewThread等时,我收到此警告:

  

System.Reactive.Concurrency.Scheduler.ThreadPool'已过时:'由于重构API表面并消除特定于平台的依赖项,因此不再支持此属性。考虑使用Scheduler.Default获取平台最合适的基于池的调度程序。要访问特定的基于池的调度程序,请为目标平台添加对System.Reactive.PlatformServices程序集的引用,并在System.Reactive.Concurrency命名空间中使用相应的调度程序。有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkID=260866

如果我按照警告的说明操作,我仍会收到警告。如果我想使用以前通过Scheduler类提供的各种选项,我期望准确地使用什么调度程序?

1 个答案:

答案 0 :(得分:10)

大多数调度程序应该附带一个默认实例。您应该可以使用NewThreadScheduler.DefaultThreadPoolScheduler.Instance