Actor 模型介绍

Actor 模型介绍

💡 原文中文,约1500字,阅读约需4分钟。
📝

内容提要

Actor模型是Carl Hewitt于1973年提出的并发编程模型,通过消息传递实现异步通信。Erlang和Akka是两种实现,Erlang采用抢占式调度,Actor死亡后立即进行垃圾处理,而Akka使用协作式调度,需等待JVM的GC。Erlang在IO操作时进入等待状态,Akka在同步IO时占用调度线程。

🎯

关键要点

  • Actor模型是Carl Hewitt于1973年提出的并发编程模型。
  • Actor模型是并发运算的基本单元,通过消息传递实现异步通信。
  • 每个Actor拥有自己的私有状态,状态改变只能通过发送消息完成。
  • Erlang的Actor实现基于Erlang进程,死亡后立即进行垃圾处理。
  • Akka的Actor实现基于Java类库,死亡后需等待JVM进行垃圾处理。
  • Erlang采用抢占式公平调度,Akka采用协作式调度。
  • Erlang的Actor调度受CPU数量和Actor数量影响,增加CPU会提高每个进程的执行时间。
  • Erlang的Actor在IO操作时进入等待状态,Akka在同步IO时占用调度线程。
  • 在Akka中,建议使用异步IO操作以避免阻塞调度线程。
➡️

继续阅读