public class Test {
private Scheduler sleepScheduler;
@org.junit.Test
public void qqq() {
sleepScheduler = Schedulers.from(Executors.newFixedThreadPool(15));
System.out.println("Start flatmap test");
Observable.just(1,2,3,4)
.flatMapCompletable(integer -> save(integer))
.subscribeOn(Schedulers.single())
.blockingAwait();
System.out.println("Start concatmap test");
Observable.just(1,2,3,4)
.concatMapCompletable(integer -> save(integer))
.blockingAwait();
}
public Completable save(Integer iii) {
return Single.just(iii)
.observeOn(sleepScheduler)
.flatMapCompletable(i -> {
System.out.println("Thread Sleep+ " + Thread.currentThread().getName());
Thread.sleep(1000);
System.out.println("Thread Unsleep+ " + Thread.currentThread().getName());
return Completable.complete();
});
}
}