【发布时间】:2016-02-07 13:13:36
【问题描述】:
我是akka-stream的新手,所以想问一下如何重现本文中提出的行为http://doc.akka.io/docs/akka-stream-and-http-experimental/2.0.2/scala/stream-rate.html
对于给定的代码
Source(1 to 3)
.map { i => println(s"A: $i"); i }
.map { i => println(s"B: $i"); i }
.map { i => println(s"C: $i"); i }
.runWith(Sink.ignore)
得到这样的相似
A: 1
A: 2
B: 1
A: 3
B: 2
C: 1
B: 3
C: 2
C: 3
我尝试添加一些随机的Thread.sleep,
从无限迭代器创建一个流。
但是 Akka 根据调试输出总是使用同一个线程进行处理。
所以问题是:如何使用 akka-stream 重现异步行为(每个阶段都应该以异步方式运行)?
【问题讨论】:
-
异步下是什么意思?您的预期行为是什么?
-
某事,除了这个 A: 1 B: 1 C: 1 A: 2 B: 2 C: 2 A: 3 B: 3 C: 3
-
然后在一个地图步骤中完成所有操作?
标签: multithreading scala akka-stream