Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Concurrency RxJava:When";“可观察合同”;说:";发生在“;,这到底是什么意思?_Concurrency_Thread Safety_Observable_Happens Before_Rx Java3 - Fatal编程技术网

Concurrency RxJava:When";“可观察合同”;说:";发生在“;,这到底是什么意思?

Concurrency RxJava:When";“可观察合同”;说:";发生在“;,这到底是什么意思?,concurrency,thread-safety,observable,happens-before,rx-java3,Concurrency,Thread Safety,Observable,Happens Before,Rx Java3,观察者必须连续(而不是并行)向观察者发出通知。它们可能会从不同的线程发出这些通知,但在通知之间的关系之前必须有一个正式的事件发生 当它说“之前发生”时,是否意味着上一个onNext通知的所有效果(例如,在Observer.onNext()方法中更改共享状态)将对下一个onNext通知完全可见,就像Java内存模型中的在保证之前发生一样 在阅读SerializedObjectServer(RxJava版本3.0.11)的源代码后,我发现在同步代码块中没有调用down.onNext(t)方法。那么,

观察者必须连续(而不是并行)向观察者发出通知。它们可能会从不同的线程发出这些通知,但在通知之间的关系之前必须有一个正式的事件发生

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

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

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

我在下游找到SerializedObjectServer[…]。在同步代码块中未调用onNext(t)方法。那么,我可以说答案是否定的吗


仍然是。由于
发出
标志,确保了可见性以及只有一个线程将调用
onNext
的属性。

感谢您的回答!我终于弄明白了服务器的工作原理。