akka linux 端口,Actor模型开发库 Akka
Akka 是一個用 Scala 編寫的庫,用于簡化編寫容錯的、高可伸縮性的 Java 和 Scala 的 Actor 模型應用。
Actor模型并非什么新鮮事物,它由Carl Hewitt于上世紀70年代早期提出,目的是為了解決分布式編程中一系列的編程問題。其特點如下:
系統中的所有事物都可以扮演一個Actor
Actor之間完全獨立
在收到消息時Actor所采取的所有動作都是并行的,在一個方法中的動作沒有明確的順序
Actor由標識和當前行為描述
Actor可能被分成原始(primitive)和非原始(non primitive)類別
非原始Actor有
由一個郵件地址表示的標識
當前行為由一組知識(acquaintances)(實例變量或本地狀態)和定義Actor在收到消息時將采取的動作組成
消息傳遞是非阻塞和異步的,其機制是郵件隊列(mail-queue)
所有消息發送都是并行的
Java 代碼:
public class Greeting implements Serializable {
public final String who;
public Greeting(String who) { this.who = who; }
}
public class GreetingActor extends UntypedActor {
LoggingAdapter log = Logging.getLogger(getContext().system(), this);
public void onReceive(Object message) throws Exception {
if (message instanceof Greeting)
log.info("Hello " + ((Greeting) message).who);
}
}
ActorSystem system = ActorSystem.create("MySystem");
ActorRef greeter = system.actorOf(Props.create(GreetingActor.class), "greeter");
greeter.tell(new Greeting("Charlie Parker"), ActorRef.noSender());
Scala 代碼:
case class Greeting(who: String)
class GreetingActor extends Actor with ActorLogging {
def receive = {
case Greeting(who) ? log.info("Hello " + who)
}
}
val system = ActorSystem("MySystem")
val greeter = system.actorOf(Props[GreetingActor], name = "greeter")
greeter ! Greeting("Charlie Parker")
總結
以上是生活随笔為你收集整理的akka linux 端口,Actor模型开发库 Akka的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CPU性能碾压骁龙8 Gen 1 卢伟冰
- 下一篇: linux脚本 逻辑运算,Linux-s