我正在尝试使用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.ThreadPool
,Scheduler.NewThread
等时,我收到此警告:
System.Reactive.Concurrency.Scheduler.ThreadPool'已过时:'由于重构API表面并消除特定于平台的依赖项,因此不再支持此属性。考虑使用Scheduler.Default获取平台最合适的基于池的调度程序。要访问特定的基于池的调度程序,请为目标平台添加对System.Reactive.PlatformServices程序集的引用,并在System.Reactive.Concurrency命名空间中使用相应的调度程序。有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkID=260866。
如果我按照警告的说明操作,我仍会收到警告。如果我想使用以前通过Scheduler
类提供的各种选项,我期望准确地使用什么调度程序?
答案 0 :(得分:10)
大多数调度程序应该附带一个默认实例。您应该可以使用NewThreadScheduler.Default
,ThreadPoolScheduler.Instance
等