0

可观察合约

Observables 必须串行(而不是并行)向观察者发出通知。他们可能会从不同的线程发出这些通知,但通知之间必须有正式的先发生关系。

当它说“happens-before”时,是否意味着上一个 onNext 通知的所有效果(例如更改 Observer.onNext() 方法中的共享状态)对于下一个 onNext 通知将完全可见,就像发生一样-Java 内存模型中的保证之前

阅读 SerializedObserver(RxJava 版本 3.0.11)的源代码后,我发现在同步代码块中没有调用下游.onNext(t) 方法。那么,我可以说答案不是吗?

4

1 回答 1

1

将完全对下一个 onNext 通知可见,就像 Java 内存模型中的发生前保证一样?

是的。

SerializedObserver [...] 我发现在同步代码块中没有调用下游.onNext(t) 方法。那么,我可以说答案不是吗?

还是可以的。同步(this)onNext确保可见性以及由于emitting标志而只有一个线程将调用的属性。

于 2021-04-22T10:47:10.710 回答