首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Schedulers.io()和Schedulers.computation()有什么区别

Schedulers.io()和Schedulers.computation()有什么区别
EN

Stack Overflow用户
提问于 2015-10-27 22:14:04
回答 2查看 16.1K关注 0票数 33

我在couchbase中使用可观察对象。

Schedulers.io()Schedulers.computation()之间的区别是什么

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-10 17:54:27

documentation of rx

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

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

的新线程调度程序

票数 24
EN

Stack Overflow用户

发布于 2019-09-19 15:57:48

RxJava schedulers简介。

  • Schedulers.io() -用于执行非CPU密集型操作,如进行网络调用、读取磁盘/文件、数据库操作等,它维护一个threads.
  • Schedulers.newThread()池-使用它,每次调度任务时都会创建一个新线程。通常建议不要使用调度器,除非有一个非常长时间运行的操作。通过reused.
  • Schedulers.computation() ()创建的线程不会被调度-这个调度程序可以用来执行CPU密集型的操作,比如处理巨大的数据,位图处理等,使用这个调度器创建的线程的数量完全取决于CPU核心的数量available.
  • Schedulers.single() -这个调度器将按顺序执行它们添加的所有任务。当需要顺序执行时可以使用required.
  • Schedulers.immediate() -这个调度程序通过阻塞主thread.
  • Schedulers.trampoline()以同步的方式立即执行任务-它以先进先出的方式执行任务。通过将后台线程的数量限制为one.
  • Schedulers.from(),所有计划的任务将一个接一个地执行-这允许我们通过限制要创建的线程的数量,从执行器创建调度程序。当线程池被占用时,任务将排队。
票数 42
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33370339

复制
相关文章

相似问题

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