我Subject在RxJava中创建了一个实例,并onNext()从多个线程调用它:
PublishSubject<String> subject = PublishSubject.create();
//...
subject.onNext("A"); //thread A
subject.onNext("B"); //thread B
Run Code Online (Sandbox Code Playgroud)
该RxJava文档说:
注意不要
onNext(?)从多个线程调用其方法(或其他方法),因为这可能导致非序列化调用,这违反了Observable合约并在结果中产生歧义Subject.
toSerialized(),Subject假设我不关心是否"A"在之前或之后"B"?序列化将如何帮助?Subject无论如何都是线程安全的还是我会在没有的情况下破坏RxJava toSerialized()?