返回

RxSwift学习——Schedulers (调度器)避免命名时的误解

IOS

当我们初次接触RxSwift的Schedulers(调度器)时,很容易被那些调度器方法的命名误导。特别是那些以“Main”,“Concurrent”,“Serial”等命名的调度器。

RxSwift中提供的调度器方法命名很容易让人误解,为了避免这种误解,我们需要深入了解这些调度器的方法命名的由来。

MainScheduler:
MainScheduler是一个很直观的方法名,它表示这个调度器是在主线程上运行的。
ConcurrentDispatchQueueScheduler:
ConcurrentDispatchQueueScheduler这个方法名也比较直观,表示这个调度器是在一个并发的DispatchQueue上运行的。
SerialDispatchQueueScheduler:
SerialDispatchQueueScheduler这个方法名也很直观,表示这个调度器是在一个串行的DispatchQueue上运行的。
OperationQueueScheduler:
OperationQueueScheduler这个方法名也比较直观,表示这个调度器是在一个OperationQueue上运行的。

那么,这些调度器方法命名的由来是什么呢?

MainScheduler:
MainScheduler这个方法名来源于苹果官方的GCD,在GCD中,有一个名为main的DispatchQueue,这个DispatchQueue是运行在主线程上的。
ConcurrentDispatchQueueScheduler:
ConcurrentDispatchQueueScheduler这个方法名来源于苹果官方的GCD,在GCD中,有一个名为concurrent的DispatchQueue,这个DispatchQueue是运行在并发线程上的。
SerialDispatchQueueScheduler:
SerialDispatchQueueScheduler这个方法名来源于苹果官方的GCD,在GCD中,有一个名为serial的DispatchQueue,这个DispatchQueue是运行在串行线程上的。
OperationQueueScheduler:
OperationQueueScheduler这个方法名来源于苹果官方的OperationQueue,OperationQueue是一个可以管理多个Operation的队列,这些Operation可以在不同的线程上运行。

所以,这些调度器方法的命名都是来源于苹果官方的GCD和OperationQueue。

为了避免这些误解,我们可以提供一些建议,帮助开发者更好地理解和使用调度器。

  1. 不要只看方法名,还要看方法的注释。
  2. 可以使用调试器来查看调度器是如何工作的。
  3. 可以使用RxSwift的调度器来控制任务的执行顺序和并发性。

最后,希望本文能够帮助开发者更好地理解和使用调度器。