【问题标题】:Difference between Reactive Schedulers io and computation?反应式调度程序 io 和计算之间的区别?
【发布时间】:2017-02-15 18:40:34
【问题描述】:

我的应用使用 RxAndroidBle 异步接收来自 BLE 外设的数据包,并将它们组装成一个更大的帧。似乎 Schedulers.io() 是合适的,但我们被警告(没有解释)不要在 io 调度程序上进行“计算”。简单地将字节从一个数组复制到另一个数组算作“计算”吗?如果是这样,我是否需要创建单独的调度程序,一个用于接收数据包,另一个用于组装帧?那会是什么样子?

【问题讨论】:

    标签: rx-java rx-android rxandroidble


    【解决方案1】:

    将字节从一个数组复制到另一个算作“计算”,因为它不是 CPU 密集型工作(您等待 io 的时间更长,然后您正在执行内存复制),为 CPU 密集型工作而设计的计算调度程序,其线程数受 CPU 内核的限制。
    而 io 调度程序不受线程限制,因此适用于 io 阻塞操作。

    您可以在此处阅读有关差异的详细说明: rxJava Schedulers Use Cases

    【讨论】:

      猜你喜欢
      • 2019-04-13
      • 2011-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多