如何运行 filter
, map
和 flatMap
在 Observable
使用多线程:
def withDelay[T](delay: Duration)(t: => T) = {
Thread.sleep(delay.toMillis)
t
}
Observable
.interval(500 millisecond)
.filter(x => {
withDelay(1 second) { x % 2 == 0 }
})
.map(x => {
withDelay(1 second) { x * x }
}).subscribe(println(_))
目标是使用多个线程同时运行过滤和转换操作。
最佳答案
你可以在每个操作上使用 Async.toAsync() 。
它在包 rxjava-async 上
Documentation
关于scala - 如何在 RxScala/Java 中使用多线程执行 map、filter、flatMap?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33749045/