我有使用RxJava的经验,以制作反应式应用程序。但是,我想知道它(以及其他库,如Spring Reactor)实际上是如何在内部工作的。我似乎无法在网上找到任何有趣的信息,只有典型的简单教程。它如何处理线程等?所有“演员”都在同一个线程上运行吗?或者它是每个“声明”的主题吗?
答案 0 :(得分:1)
关于RxJava的一个关键点是它允许API所有者和消费者决定执行模型(并在不破坏任何接口的情况下进行更改)。如果你想公开一个在主叫用户线程上运行的observable,在ExecutorService
内,在一个Actor,e.t.c上,这取决于你。同样,您可以使用任何适合的线程模型订阅一个observable,它可以阻塞调用线程或某种线程池。底线是图书馆本身对线程模型的意见 no ;你需要决定什么是最适合你所暴露的工作量。