Reactive Schedulers io 和计算之间的区别?
Difference between Reactive Schedulers io and computation?
我的应用程序使用 RxAndroidBle 从 BLE 外围设备异步接收数据包,并将它们组装成一个更大的框架。 Schedulers.io() 似乎是合适的,但我们被警告(没有解释)不要在 io 调度程序上执行 "computation"。简单地将字节从一个数组复制到另一个数组算作 "computation" 吗?如果是这样,我是否需要创建单独的调度程序,一个用于接收数据包,另一个用于组装帧?那会是什么样子?
将字节从一个数组复制到另一个数组不会算作'computation',因为它不是CPU密集型工作(您等待的时间更长io 然后你正在做内存复制),为 CPU 密集工作设计的计算调度器,它的线程数受 CPU.
核心的限制
虽然 io 调度程序不是线程绑定的,因此适用于 io 阻塞操作。
您可以在此处阅读有关差异的详细说明:
我的应用程序使用 RxAndroidBle 从 BLE 外围设备异步接收数据包,并将它们组装成一个更大的框架。 Schedulers.io() 似乎是合适的,但我们被警告(没有解释)不要在 io 调度程序上执行 "computation"。简单地将字节从一个数组复制到另一个数组算作 "computation" 吗?如果是这样,我是否需要创建单独的调度程序,一个用于接收数据包,另一个用于组装帧?那会是什么样子?
将字节从一个数组复制到另一个数组不会算作'computation',因为它不是CPU密集型工作(您等待的时间更长io 然后你正在做内存复制),为 CPU 密集工作设计的计算调度器,它的线程数受 CPU.
核心的限制
虽然 io 调度程序不是线程绑定的,因此适用于 io 阻塞操作。
您可以在此处阅读有关差异的详细说明: