zoukankan      html  css  js  c++  java
  • Akka: actor应用的一些小结

    1.消息:

    1) case class是scala中一个不可变对象(当然你可以让他成为可变的),通过不可变对象来进行消息传递可以更加明确内容,也能保证线程安全

    2) 在Java中如果你将class对象当成消息时候是无法保证这个对象在消息传递过程中不会被改变的,在Java中对象的状态都是可以随时改变的,除非你特别指定

    2.通信:

    1)单个actor中的消息需要发送给多个actor最好使用不可变对象保证线程安全,即使是可变对象也应该传递一个拷贝而不是对象本身

    2)actor有自己的信箱,内部本身是单线程的,串行执行信箱中的每一封邮件

    3.生命周期:

    1)每个actor都有自己的生命周期有点类似servlet;每个actor都是一个容器;

    4.调度与监管:

    1)每个actor都会占用一定的资源,如果开发者不主动释放资源,actor是不会释放资源的,所以不要随意的创建actor;

    2)默认的调度引擎(dispatcher)是fork-join —— 类比Java的其他并发库如:Threads, Executor

  • 相关阅读:
    MyBatis动态SQL
    Mybatis基础配置
    MyBatis的手动映射与模糊查询
    Struts2框架和SpringMvc框架的区别
    Mybatis和Hibernate框架的区别
    Servlet
    JSP数据交互(二)
    JSP数据交互(一)
    Spark朴素贝叶斯(naiveBayes)
    【安卓开发】Android为什么选择binder
  • 原文地址:https://www.cnblogs.com/monion/p/4995135.html
Copyright © 2011-2022 走看看