Scala 中 Actor 模型的全面解析与应用
1. Actor 模型简介
Actor 为并发程序提供了一种有别于传统基于锁架构的选择。通过避免使用锁和共享状态,Actor 让我们更轻松地设计出无死锁和竞态条件的正确程序。Scala 库提供了 Actor 模型的简单实现,同时也有更高级的 Actor 库,如 Akka(http://akka.io)。
Actor 模型的关键要点如下:
- 扩展 Actor 类并为每个 Actor 提供 act 方法。
- 使用 actor ! message 向 Actor 发送消息。
- 消息发送是异步的,即“发送即遗忘”。
- Actor 通常在循环中调用 receive 或 react 来接收消息。
- receive / react 的参数是一组 case 子句(技术上是一个偏函数)。
- Actor 不应共享状态,应始终通过消息传递数据。
- 不要直接调用 Actor 的方法,而是通过发送消息进行通信。
- 避免同步消息传递,即发送消息后等待回复。
- 若消息处理函数的控制流简单,Actor 可以使用 react 代替 receive 来共享线程。
- 允许 Actor 崩溃,但需有其他 Actor 监控其状态,可使用链接建立监控关系。
超级会员免费看
订阅专栏 解锁全文
90

被折叠的 条评论
为什么被折叠?



