键入安全的Scala演员

men*_*ics 12 scala actor

有没有办法指定一个actor可以接受什么类型的消息,如果有什么东西试图发送一些其他类型的话,会给出编译错误?

ten*_*shi 2

不知道是否能解答你的问题,但希望能给你一些想法。也许您正在寻找类似Akka项目中的Typed Actors之类的东西:

Typed Actors 是通过Typed Actors实现的。它通过 AspectWerkz 使用 AOP 将常规 POJO 转换为具有 Actor 模型语义的异步非阻塞 Actor。例如,每个消息分派都会变成一条消息,放入队列中,由 Typed Actor 按顺序一一处理。

因此,您定义接口和实现,然后将它们注册为参与者。Akka 将为您的界面创建代理,该代理仍然在底层使用 Actor 模型。您仍然可以使用以下消息传递样式:

  • 一劳永逸
  • 请求-答复
  • 请求-回复-未来