gpt4 book ai didi

c# - 在主线程上观察时是否需要同步观察对象?

转载 作者:行者123 更新时间:2023-11-30 21:07:13 26 4
gpt4 key购买 nike

需要这个 .Synchronize() 吗?如果不是,什么时候真正需要使用?

_subject.SubscribeOn(Scheduler.TaskPool).ObserveOn(SynchronizationContext.Current).Synchronize().Subscribe(OnNext)

我认为这可能是必要的原因是因为我从多个线程调用主题的 OnNext。不过,我确实希望在主线程上执行 OnNext 方法。

最佳答案

Synchronize 扩展方法用于两件事:

  1. 确保应用它的可观察对象遵循正确的可观察“契约”——即 OnNext*(OnError|OnCompleted)
  2. 确保每个 OnNext 都被序列化 - 如果在不同线程上调用则不会重叠。

但在您的情况下,您正在同步到当前上下文,因此第二点会自动为您处理。

关于c# - 在主线程上观察时是否需要同步观察对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10591287/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com