Этот код безопасен?RxJava thread-safety
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. –
Возможный дубликат [Is SerializedSubject, необходимый для обеспечения безопасности потоков в RxJava] (http://stackoverflow.com/questions/31841809/is-serializedsubject-necessary-for-thread-safety-in-rxjava) –