4

文档指出:

“对于每个观察者,注册的中间观察对象不是线程安全的。也就是说,来自源的观察不能在不同的线程上同时触发。”

这也适用于Observable.pairwise<'T>Observable.scan<'U,'T>

鉴于 Observable.merge 不是线程安全的,以一种会产生意外后果的方式使用 Observable.merge 的示例是什么?

4

2 回答 2

2

根据源代码,如果观察者都OnCompleted在不同的线程上触发,那么合并的观察者可能无法完成。

于 2013-09-09T18:48:13.080 回答
0

一般来说,线程安全表示使用来自不同线程的功能不会导致竞争条件或死锁。在这种特殊情况下,我猜测观察结果可能会相互覆盖,或者以可能导致崩溃或其他不稳定状态的方式交错执行。

于 2013-09-09T17:52:17.307 回答