Osa*_*tar 15 observable couchbase rx-java
在沙发基地,Observables
有什么区别:Schedulers.io()和Schedulers.computation()
akh*_*707 36
RxJava 调度器简介。
Schedulers.io() – 用于执行非 CPU 密集型操作,如进行网络调用、读取磁盘/文件、数据库操作等,它维护一个线程池。
Schedulers.newThread() – 使用它,每次调度任务时都会创建一个新线程。通常建议不要使用调度程序,除非有很长时间运行的操作。通过 newThread() 创建的线程不会被重用。
Schedulers.computation() – 此调度程序可用于执行 CPU 密集型操作,例如处理大量数据、位图处理等,使用此调度程序创建的线程数完全取决于可用的 CPU 内核数。
Schedulers.single() – 该调度器将按添加的顺序执行所有任务。这可以在需要顺序执行时使用。
Schedulers.immediate() – 该调度器通过阻塞主线程以同步方式立即执行任务。
Schedulers.trampoline() - 它以先进先出的方式执行任务。将后台线程数限制为1个,将所有计划任务一一执行。
Schedulers.from() – 这允许我们通过限制要创建的线程数从执行程序创建调度程序。当线程池被占用时,任务将排队。
Reu*_*ani 19
Schedulers.computation() - 用于计算工作,如事件循环和回调处理; 不要将此调度程序用于I/O(改为使用Schedulers.io()); 默认情况下,线程数等于处理器数
Schedulers.io() - 用于I/O绑定工作,例如阻塞I/O的异步性能,此调度程序由一个将根据需要增长的线程池支持; 对于普通的计算工作,切换到Schedulers.computation(); 默认情况下,Schedulers.io()是一个CachedThreadScheduler,它类似于带有线程缓存的新线程调度程序
归档时间: |
|
查看次数: |
6954 次 |
最近记录: |