Rich Hickey 在他 2008 年的演讲“Clojure Concurrency”中明确区分了代理和演员,提到了它们彼此不同的几种方式。如果您想快速找到其中的一些评论,请在本演讲的记录中搜索“agent”和“actor”:https : //github.com/matthiasn/talk-transcripts/blob/master/Hickey_Rich/ClojureConcurrency.md
更多关于 clojure.org 代理和演员之间的差异:https : //clojure.org/about/state#actors
显然,有人比我更了解原始 Hewitt 演员模型,这可能对阅读有用:http : //www.dalnefre.com/wp/2010/06/actors-in-clojure-why-不是/
我的理解是,如果你想要 Erlang 风格的 actor,你基本上需要线程/进程之间不可靠的消息队列。在不同的进程之间,有很多方法可以实现不可靠的消息传递,Clojure 中没有内置方法,但所有方法都可以通过 Java 互操作获得。