我刚刚发现了SubscribeOn
,这使我想知道是否应该使用它代替ObserveOn
。 Google把我带给了here和here,但是两者都没有帮助我找到区别:似乎难以置信。
(在我的上下文中,我在非GUI线程上有事件“即将来临”,在使用事件数据更新控件之前,我需要切换到GUI线程)。
最佳答案
不久前,我遇到了类似的问题,并询问了this问题。我认为那里的回复(包括评论)将回答您的问题。总结一下:
ObserveOn
。如果您引用System.Reactive.Windows.Forms.dll
,您将获得方便的.ObserveOn(form)
。 SubscribeOn
控制实际进行预订的线程。此处解决的问题是,如果您从多个不同的线程中添加事件处理程序,则WinForms和WPF将引发异常。 另外,this post对弄清
ObserveOn
和SubscribeOn
之间的关系非常有帮助。