摘要:本文将带你了解Android应用开发之Android RxJava 的源码解析之RxJava1 Scheduler调度者概念,希望本文对大家学Android有所帮助。
本文将带你了解Android应用开发之Android RxJava 的源码解析之RxJava1 Scheduler调度者概念,希望本文对大家学Android有所帮助。
先了解下概念 小案例 1.0 的 Scheduler 1.0 调度图 subscribeOn 的方法线程调度流程
先了解下概念
小案例
Subscription subscription = Observable.create(new Observable.OnSubscribe<string>() { @Override public void call(Subscriber<!--? super String--> subscriber) { System.out.println(Thread.currentThread().getName()); if (!subscriber.isUnsubscribed()) { subscriber.onNext("1"); subscriber.onNext("2"); subscriber.onCompleted(); } }}).subscribeOn(Schedulers.newThread()) .observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer<string>() { @Override public void onCompleted() { System.out.println("onCompleted"); } @Override public void onError(Throwable e) { e.printStackTrace(); System.out.println("onError"); } @Override public void onNext(String s) { System.out.println(Thread.currentThread().getName()); System.out.println("onNext:" + s); }});</string></string>
1.0 的 Scheduler
Scheduler 是一个抽象类
关键
描述
Workerr
真实做线程调度的类
Action0
在线程中执行的操作
schedule
实际做线程调度的方法,入参为 Action0
调度这源码分析:
传入不同Scheduler来使用不同的线程 用Scheduler创建Worker来使用真正的线程池 传入具体操作的Action0 通过Schedule方法来实现调度
1.0 调度图
subscribeOn 的方法线程调度流程
下面只是很初略的流程,最要看上面的调度图
我这里采用回溯流程 梳理
?1Observable对象.subscribe(new Observer<string>() {....});</string>
Created with Rapha?l 2.1.2subscribeOperatorSubscribeOn.call()创建SubscribeOnSubscriber 对象标识Worker.schedule()线程池中提交并调用 .call()
也就解释了,subscribeOn 的线程 调度
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之Android频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号