RxJava 全国卷 - 必知必会

一、上岗先考试。

道路千万条,“线程安全” 第一条。行车不规范,CaseStudy 两行泪!!!

考试类型:开卷

作弊行为:运行源代码

二、试卷 - 单项选择

runOnUiThread(new Runnable() {
    @Override
    public void run() {
        rxJavaExamination();
    }
});

private void rxJavaExamination() {
    Observable.create(new ObservableOnSubscribe() {
        @Override
        public void subscribe(ObservableEmitter emitter) throws Exception {
            Log.d("hlwang", "111 isMainThread : " + (Thread.currentThread() == Looper.getMainLooper().getThread()));
            emitter.onNext("第一级主题");
            emitter.onComplete();
        }
    })
    .subscribeOn(AndroidSchedulers.mainThread())
    .doOnSubscribe(new Consumer() {
        @Override
        public void accept(Disposable disposable) throws Exception {
            Log.d("hlwang", "222 isMainThread : " + (Thread.currentThread() == Looper.getMainLooper().getThread()));
        }
    })
    .observeOn(Schedulers.io())
    .doOnNext(new Consumer() {
        @Override
        public void accept(String s) throws Exception {
            Log.d("hlwang", "333 isMainThread : " + (Thread.currentThread() == Looper.getMainLooper().getThread()));
        }
    })
    .subscribeOn(Schedulers.newThread())
    .doOnSubscribe(new Consumer() {
        @Override
        public void accept(Disposable disposable) throws Exception {
            Log.d("hlwang", "444 isMainThread : " + (Thread.currentThread() == Looper.getMainLooper().getThread()));
        }
    })
    .observeOn(Schedulers.io())
    .subscribe(new Observer() {

        @Override
        public void onSubscribe(Disposable d) {
            Log.d("hlwang", "555 isMainThread : " + (Thread.currentThread() == Looper.getMainLooper().getThread()));
        }

        @Override
        public void onNext(Object o) {
            Log.d("hlwang", "666 isMainThread : " + (Thread.currentThread() == Looper.getMainLooper().getThread()));
        }

        @Override
        public void onError(Throwable e) {

        }

        @Override
        public void onComplete() {

        }
    });
}

A :

555 isMainThread : true
444 isMainThread : true
222 isMainThread : false
111 isMainThread : true
333 isMainThread : false
666 isMainThread : false

B :

111 isMainThread : true
222 isMainThread : false
333 isMainThread : false
444 isMainThread : true
555 isMainThread : true
666 isMainThread : false

C :

444 isMainThread : true
555 isMainThread : true
222 isMainThread : false
111 isMainThread : true
333 isMainThread : false
666 isMainThread : false

D :

111 isMainThread : true
222 isMainThread : false
444 isMainThread : true
555 isMainThread : true
333 isMainThread : false
666 isMainThread : false

E :

以上,无正确答案,我要评论正确答案

你可能感兴趣的:(RxJava 全国卷 - 必知必会)