首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在akka-actor类型中,Behaviors.setup和Behaviors.receive有什么不同?

在akka-actor类型中,Behaviors.setup和Behaviors.receive有什么不同?
EN

Stack Overflow用户
提问于 2020-11-12 22:21:19
回答 1查看 474关注 0票数 0

阅读Akka 2.6.10 API Docsakka.actor.typed.scaladsl.Behaviors.setupakka.actor.typed.scaladsl.Behaviors.receive之间的区别对我来说应该一目了然。但事实并非如此。

documentation site提供了一些很好的示例,但我仍然花了很多时间来理解每个函数的预期用途,这从来没有真正明确地说明过。

为了节省未来的Akka (类型)新手的时间,我将尝试澄清这些行为定义函数之间的区别。这是基本的东西,但对于理解剩下的内容很重要。

EN

回答 1

Stack Overflow用户

发布于 2020-11-12 22:21:19

akka.actor.typed.scaladsl.Behaviors.setup

Behaviors.setup定义了在执行之前不等待接收消息的行为。它只是在从它派生出一个参与者之后立即执行它的主体。

您必须从中返回一个Behavior[T],这可能是一种消息处理行为。为此,您可能会使用Behaviors.receiveBehaviors.receiveMessage。(或者,如果参与者只需要做一次工作,则为Behaviors.stopped,然后消失。)

由于它无需等待即可执行,因此Behaviors.setup通常用于定义系统中第一个参与者的行为。在采用新的消息处理行为之前,它的初始行为可能负责产生您的程序将需要的下一代参与者。

akka.actor.typed.scaladsl.Behaviors.receive

Behaviors.receive定义了消息处理行为。您可以向它传递一个函数,该函数既有参与者上下文的参数,也有包含消息的参数。通过此行为创建的参与者在收到此行为可以处理的类型的消息之前将不会执行任何操作。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64805718

复制
相关文章

相似问题

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