首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何为`observeOn`方法创建`Scheduler`?

如何为`observeOn`方法创建`Scheduler`?
EN

Stack Overflow用户
提问于 2014-06-05 04:04:14
回答 2查看 483关注 0票数 2

我在我的Scala项目中使用RxJava,并且我需要在一个单独的线程中执行我的Observable。我知道为了实现这一点,我需要对它调用observeOn方法,并将rx.lang.scala.Scheduler的一个实例作为参数进行传递。

但是,如何创建该实例呢?我没有找到任何明显的方法来实例化rx.lang.scala.Scheduler特征。例如,我有这样的代码:

Observable.from(List(1,2,3)).observeOn(scheduler)

有人能提供一个可以工作的scheduler变量的例子吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-06-05 04:43:13

特征是不可实例化的。

您需要使用API documentation中“已知子类”下列出的特征的一个子类。

票数 0
EN

Stack Overflow用户

发布于 2018-07-30 01:52:38

所有调度程序都在包中

import rx.lang.scala.schedulers._

对于阻塞IO操作,请使用IO调度程序

Observable.from(List(1,2,3)).observeOn(IOScheduler())

对于计算工作,使用计算调度器

Observable.from(List(1,2,3)).observeOn(ComputationScheduler())

在当前线程上执行

Observable.from(List(1,2,3)).observeOn(ImmediateScheduler())

在新线程上执行

Observable.from(List(1,2,3)).observeOn(NewThreadScheduler())

对要在当前线程之后执行的当前线程上的工作进行排队

Observable.from(List(1,2,3)).observeOn(TrampolineScheduler())

如果您想使用您自己的自定义线程池

val threadPoolExecutor = Executors.newFixedThreadPool(2)
val executionContext = ExecutionContext.fromExecutor(threadPoolExecutor)
val customScheduler = ExecutionContextScheduler(executionContext)
Observable.from(List(1,2,3)).observeOn(customScheduler)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24046554

复制
相关文章

相似问题

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