美文网首页
RxSwift-调度器

RxSwift-调度器

作者: yyggzc521 | 来源:发表于2021-10-30 15:20 被阅读0次

Schedulers

是RxSwift实现多线程的核心。它主要用于控制任务在哪个线程或队列运行

平时的开发中,网络请求都是在后台执行的,获取到数据之后,再在主线程更新UI

let rxData: Observable<Data> = ...

rxData
    .subscribeOn(ConcurrentDispatchQueueScheduler(qos: .userInitiated))
    .observeOn(MainScheduler.instance)
    .subscribe(onNext: { [weak self](data) in
        // 更新UI
    })
    .disposed(by: disposeBag)
  • subscribeOn 来决定数据序列的构建函数在哪个 Scheduler 上运行。
  • 由于获取 Data 需要花费很长的时间,所以用 subsribeOn 切换到 后台Scheduler 来获取 ,这样就可以避免阻塞主线程。
  • 用 observeOn 来决定在哪个 Scheduler 监听这个数据序列。 通过 observerOn 方法切换到主线程来监听并处理结果。
  1. MainScheduler: 代表主线程,如果执行和UI相关的任务,就需要切换到该 Scheduler 运行
  2. ConcurrentDispatchQueueScheduler:抽象的并行DispatchQueue。如果需要执行一些并发任务,可以切换到这个 Scheduler执行

相关资料

相关文章

  • RxSwift-调度器

    Schedulers 是RxSwift实现多线程的核心。它主要用于控制任务在哪个线程或队列运行 平时的开发中,网络...

  • 《Hadoop权威指南》笔记——第4章 yarn

    YARN运行机制图 FIFO调度器、容量调度器、 公平调度器

  • C#实现一个帧调度器

    帧调度器 帧调度器 我们在写战斗,或者写房间类型的时候就需要一个按帧调度的调度器。 1. 抽象一个被调度器调度的单...

  • YARN调度器种类与区别

    三种调度器 1.FIFO调度器(FIFO Scheduler)2.容量调度器(Capacity Scheduler...

  • 2018-06-27 [OS_0x02] 进程 & 线程

    thread deep dive 0. 调度器 调度器,调度的是task or in fact kernel th...

  • Quartz 调度器

    一、简介 Quartz是一个开源作业调度框架,框架的核心是调度器,调度器负责管理Quartz应用运行时环境,调度器...

  • 调度器——GMP 调度模型

    调度器——GMP 调度模型 Goroutine 调度器,它是负责在工作线程上分发准备运行的 goroutines。...

  • 分布式调度器Quartz解读

    术语: scheduler:任务调度器 job: 被调度的任务 trigger:触发器,用于定义Job调度时间规则...

  • Kubernetes 调度器介绍

    原文链接:Kubernetes 调度器介绍 调度流程 默认情况下,kube-scheduler 提供的默认调度器能...

  • Hadoop Yarn 资源调度器解析

    Hadoop Yarn 资源调度器解析篇 Yarn资源调度器简介 资源调度器是Yarn中最核心的组件之一,他是Re...

网友评论

      本文标题:RxSwift-调度器

      本文链接:https://www.haomeiwen.com/subject/zvmgaltx.html