RxJava-Scheduler

RxJava-Scheduler


  RxJava可以给Obserable操作符的链式过程中切换代码的线程功能,可以指定操作符(或者特定的Obserable)在特定的调度器(Scheduler)上执行。
RxJava有多种调度器类型可供择.

Schedulers.computatoin() 一般用于计算任务,比如比如事件循环和回调处理。不要用来做IO操作,IO操作大部分的事件用于等待IO连接的建立和数据的读取,而computation 内部是一个拥有固定线程数的线程池, 并且默认线程数等于处理器的数量。
schedulers.immediate() 不指定线程池,在当前线程立即开始执行任务
scheduler.io 用于IO密集型任务,创建的是CachedThreadScheduler,内部调度的线程池会根据需要增加。
Schedulers.from(executor) 使用自己指定的Executor作为调度器
Schedulers.trampoline()当其他排队的任务完成后,在当前线程排队开始执行

tip:

可以用Scheduler调度运行自己的任务

Worker worker = Schedulers.newThread().createWorker();
Subscription mySubscription = worker.schedule(new Action0() {
    @Override
    public void call() {
        while(!worker.isUnsubscribed()) {
            status = yourWork();
            //QUIT 是否退出循环的标志判断
            if(QUIT == status) { worker.unsubscribe(); }
        }
    }
});

延迟执行任务

someScheduler.schedule(someAction, 500, TimeUnit.MILLISECONDS);

mcXiaoke-RxJava中文翻译

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卓修武

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值