gpt4 book ai didi

rx-java - 将 subscribeOn() 与主题一起使用

转载 作者:行者123 更新时间:2023-12-04 17:57:08 25 4
gpt4 key购买 nike

我想知道在 Subject 上调用 subscribeOn() 会产生什么后果。

我知道(默认情况下)这不会改变发射的线程项目,我只是好奇它是否会导致其他一些负面影响。

一般来说,从不同的线程调用同一个 Observable 的 subscribe() 是不安全的吗?如果是,subscribeOn() 是否以某种方式使它安全?

最佳答案

不同线程对同一个Subject调用subscribe()是安全的(注意不同线程调用subject.doOnXXX需要同步,如果需要,请要求澄清)。将其推广到所有 Observables 是不可能的,因为构造一个非线程安全的 Observables 很容易(比如存在可见性问题)。您是对的,因为您可能通过使用

使非线程安全的 Observable 成为线程安全的
.subscribeOn(Schedulers.from(Executors.newSingleThreadExecutor()))

使用具有多个线程的调度程序不会在线程安全方面保护您。

关于rx-java - 将 subscribeOn() 与主题一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39496295/

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