`
wbj0110
  • 浏览: 1610370 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

Akka学习笔记:Actor

    博客分类:
  • Akka
阅读更多

上一节讲到actor是actor system最基本的单元。这一节详细的讲讲actor.更详细here。actor是一个拥有state,behavior,mailbox,children,supervisor strategy的容器.Akka保证所有actor都只运行在自己的轻量级线程,并一次处理一个消息,这样程序员就不用处理同步、竞态

Actor Reference

为了防止actor对象被直接的访问和操作,所以actors通过ActorRef来间接交流。message可以通过如下方式传递:

  • ! (“tell”) - 发送message并马上返回
  • ? (“ask”) - 发送message并返回Future

详见here

State

actor拥有的一组变量,即actor的state。state是可恢复的,详见Persistence

Behavior

actor处理消息的方法吧~

Mailbox

所有收到的消息,会进入actor的mailbox队列。默认是FIFO。

Children

每一个actor,都是潜在的监控者。actor会自动监控执行子任务的actor.children被放在context中,通过context.actorof(...))或者context.stop(child))操作children.这些操作都是异步的,所以相应非常快。

Supervisor Strategy

actor一旦创建,监控策略是不可修改的。Akka自动帮我们处理错误故障。具体的错误策略详见错误的监督和监控

当Actor终止时

一旦actor意外终止,比如失败了。它会释放所有资源,将未处理的messages发送给system的dead letter mailbox.这些message将由EventStream处理。
为什么不把dead letter全部丢掉呢?dead letter主要用来debug

http://blog.csdn.net/wsscy2004/article/details/38233175

分享到:
评论

相关推荐

    scala笔记:学习scala时的笔记

    - Akka框架在Scala中提供了Actor模型,用于构建并发和分布式系统。 - Actors是轻量级的并发实体,通过消息传递进行通信,确保线程安全。 9. **类型类**: - 类型类是一种设计模式,通过隐式参数实现,使得类型...

    Scala-学习资料-mht.rar

    5. Akka框架:Akka是用Scala编写的开源框架,用于构建高度可扩展、容错的应用程序,它充分利用了Scala的Actor模型。 6. Scala与Java互操作:由于Scala是运行在JVM上的,所以可以直接使用Java库,与Java代码无缝集成...

    Scala-Tutorial:Scala语法学习笔记与程式码范例from 韩顺平老师教学

    13. Akka框架:利用Actor模型实现并发,每个Actor有自己的状态和邮箱,通过消息传递进行通信。 八、Scala与其他Java技术的交互 14. 兼容性:Scala可以直接调用Java代码,反之亦然,无缝对接Java生态系统。 九、元...

    scala学习资料

    Akka框架是Scala生态系统中的重要组件,提供了一套基于actor模型的并发解决方案。 8. Scala与Java的互操作性:Scala可以直接调用Java的库,反之亦然。这对于既有Java基础又想尝试新语言的开发者来说,是一个极大的...

    scala讲解笔记 入门及进阶 PDF文档1-5

    Actor模型在Akka中扮演核心角色,这部分将解释Actor如何工作,以及如何创建、交互和管理Actor。这为开发大规模并发应用提供了基础。 第五部分:"Scala入门及进阶-part05-实战技巧与最佳实践.pdf" 提供了Scala编程的...

    快学Scala 第2版.zip

    9. ** Akka框架**:Akka是基于Actor模型的并发处理库,通常与Scala一起用于构建高可用、容错的系统。 10. ** Spark与Scala结合**:讲解如何使用Scala来编写Spark应用程序,包括DataFrame、RDD和Spark SQL等关键组件...

    spark源码阅读笔记

    这是Spark集群管理中最核心的部分之一,Akka Actor Model用于实现高度并发和容错的分布式应用。 5. **等待系统终止**:最后一步是通过`actorSystem.awaitTermination()`等待整个系统结束。在此期间,Master节点将...

    尚硅谷_韩顺平_Scala语言核心编程_PDF密码解除1

    初学者通常从基础语法开始,包括变量声明、函数定义、类和对象的创建,然后逐步接触更高阶的概念,如模式匹配、Actor模型、集合操作等。通过编写简单的示例程序,可以快速上手Scala编程。 总的来说,Scala是一门...

    Scala-notes:小号

    这暗示着这份资料可能来源于一个开源项目,或者是一个组织良好的学习资源,包含按章节或主题划分的Scala学习笔记和练习。 在深入探讨Scala的知识点时,我们可以关注以下几个核心领域: 1. **类型系统**:Scala拥有...

    MyScalaStep:一步步记录我学习scala

    Akka框架,基于Scala的Actor库,提供了一种高效、容错的并发编程模型。通过Actor,程序中的组件可以并行执行,且通过消息传递进行通信,避免了共享状态的问题,从而简化了并发编程的复杂性。 另外,Scala还与Java...

    Scala笔记Markdown版本(至集合章节)

    Scala的Akka库提供了Actor模型,这是一种用于处理并发和分布式系统的强大工具。Actors是轻量级的线程,通过消息传递进行通信,保证了系统的一致性。 **8. Scaladoc** Scala的文档生成工具Scaladoc与Java的Javadoc...

Global site tag (gtag.js) - Google Analytics