Observable.from(list).map(new Func1<Judge, Bitmap>() {
@Override
public Bitmap call(Judge judge) {
Bitmap screen=ScreenService.getInstance().getBitmapNoH();
w[0] =screen.getWidth();
h[0] =screen.getHeight();
return screen;
}
}).subscribeOn(Schedulers.newThread()).subscribe(new Action1<Point>() {
@Override
public void call(Point point) {
SomeThing();
}
});
list一共有8个,通过log来看,是按顺序一个一个执行的。怎么才能建立8个线程同时执行呢?用new Thread到是可以实现。
Observable.create(subscriber -> {
if (a)
subscriber.onError(new Throwable("错了"));
else subscriber.onNext(t);
}).retryWhen(observable -> Observable.timer(500,TimeUnit.MILLISECONDS)).subscribe(o -> {
someThing(o);
}, throwable -> {
Log.e("tag",throwable.getMessage());
});
按照文档这样写retryWhen,但是没成功过。
@Override
public Bitmap call(Judge judge) {
Bitmap screen=ScreenService.getInstance().getBitmapNoH();
w[0] =screen.getWidth();
h[0] =screen.getHeight();
return screen;
}
}).subscribeOn(Schedulers.newThread()).subscribe(new Action1<Point>() {
@Override
public void call(Point point) {
SomeThing();
}
});
list一共有8个,通过log来看,是按顺序一个一个执行的。怎么才能建立8个线程同时执行呢?用new Thread到是可以实现。
Observable.create(subscriber -> {
if (a)
subscriber.onError(new Throwable("错了"));
else subscriber.onNext(t);
}).retryWhen(observable -> Observable.timer(500,TimeUnit.MILLISECONDS)).subscribe(o -> {
someThing(o);
}, throwable -> {
Log.e("tag",throwable.getMessage());
});
按照文档这样写retryWhen,但是没成功过。