首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >RxJava/RxAndroid中的Schedulers.computation() v/s Schedulers.io()

RxJava/RxAndroid中的Schedulers.computation() v/s Schedulers.io()
EN

Stack Overflow用户
提问于 2021-08-15 15:36:59
回答 2查看 418关注 0票数 0

我在下面的用例为rxjava调度程序what-is-the-difference-between-schedulers-io-and-schedulers-computationrxjava2-schedulers-io-vs-schedulers-computation-with-large-concurrent-request上读了这么多答案。

最常见的解释是使用Schedulers.computation()进行CPU密集型工作

并使用Schedulers.io()与文件系统交互,与数据库或服务交互,REST调用

通过CPU密集型工作,我假设/考虑图像调整/操作、大数据集等(如果您知道Android应用程序通常执行的其他CPU密集型任务,请添加一些其他CPU密集型任务)

我的问题是

  1. 什么是Android中的大数据集?(有形意义)
  2. 如果对数据库的网络调用或查询使用庞大的数据集(如问题1所示)作出响应,那么怎么办?
EN

回答 2

Stack Overflow用户

发布于 2021-08-18 09:36:40

事实上,它们只是使用不同的线程池,因此需要用于它们的预期目的。

对于数据处理,您需要使用Schedulers.computation(),并用于数据输入和输出Schedulers.io()

这样做是为了限制无限新线程的创建,从而创建一个作业队列。

票数 2
EN

Stack Overflow用户

发布于 2021-08-24 07:45:24

来自rx文件

Schedulers.computation( ) --用于计算工作,例如事件循环和回调处理;不要为I/O使用此调度程序(使用Schedulers.io( ) );默认情况下,线程数等于处理器数。

Schedulers.io( ) --用于I/O绑定工作,例如阻塞I/O的异步性能,此调度程序由线程池支持,该线程池将根据需要增长;对于普通计算工作,切换到Schedulers.computation( );默认情况下,Schedulers.io( )是CachedThreadScheduler,它类似于具有线程缓存的新线程调度程序。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68793004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档