このコードはスレッドセーフですか?RxJavaスレッドセーフ
Observable<String> observable = ... // some observable that calls
// onNext from a background thread
observable
.scan(new ArrayList<String>(), (List<String> acc, String next) -> {
acc.add(next);
return acc;
})
.subscribe(list -> {
// do somethind with sequence of lists
...
});
ArrayListはスレッドセーフなデータ構造ではないので、私は不思議です。
Rxデザインガイドラインが役立ちます。http://go.microsoft.com/fwlink/?LinkID=205219 –
[RxJavaのスレッドセーフティにはSerializedSubjectが必要です](RxJavaのhttp://stackoverflow.com/questions/31841809/is-serializedsubject-necessary-for-thread-safety-in-rxjava) –