这需要.Synchronize()吗?如果没有,何时实际需要使用?
_subject.SubscribeOn(Scheduler.TaskPool).ObserveOn(SynchronizationContext.Current).Synchronize().Subscribe(OnNext)
我认为这可能是必要的原因是因为我从多个线程调用主题的OnNext。我确实希望OnNext方法在主线程上执行。
答案 0 :(得分:4)
Synchronize
扩展方法用于两件事:
OnNext*(OnError|OnCompleted)
。OnNext
都被序列化 - 如果在不同的线程上调用则不会重叠。在你的情况下,你正在同步到当前的上下文,所以第二个点会自动为你处理。