akka流在一个简单流中创建了多少参与者?

akka流在一个简单流中创建了多少参与者?,akka,akka-stream,Akka,Akka Stream,我有一个流代码 val source = Source.actorRef[Msg[T]](1000, OverflowStrategy.dropHead) val flow=source.map(println(_)).to(Sink.onComplete{case _=>println("complete")}).run() 运行代码后,我从日志文件中发现,akka创建了两个参与者: akka://xxxx/flow-0-0-unknown-operation#-9691

我有一个流代码

   val source = Source.actorRef[Msg[T]](1000, OverflowStrategy.dropHead)
   val flow=source.map(println(_)).to(Sink.onComplete{case _=>println("complete")}).run()
运行代码后,我从日志文件中发现,akka创建了两个参与者:

 akka://xxxx/flow-0-0-unknown-operation#-969158424]
 akka://xxxx/flow-0-1-actorRefSource#-1265269541]
这个“未知行动”的参与者是什么

我可以重命名它吗?我有点困惑,因为一旦我将代码更改为:

val flow=source.map(println(_)).to(Sink.onComplete{case _=>receiver.stop()})
         .named("iwantName").run()
日志输出为:

 akka://xxx/flow-0-0-unknown-operation#1904555295]   
 akka://xxx/flow-0-1-iwantName-actorRefSource#-1328507659]
我试着把它改名为“iwantName”,但它改成了另一个演员


有人能向我解释一下,2个参与者的确切功能是什么吗?

当具体化akka流图时,它至少会创建一个参与者,即实际执行流阶段的参与者。如果图形包含异步边界,则流运行时,边界的每一侧将属于单独的参与者

在您的例子中,
Source.actorRef
将创建一个参与者,流的其余部分将在单独的参与者中运行。但是,这些参与者是实现细节,而不是应用程序将直接与之交互的内容

演员的名字很奇怪,因为你可以随心所欲地多次具体化你的图表,每次具体化都会产生演员