好吧,标题就是这样:如果我在你面前坐着一个非技术/我的妈妈/十二岁的男孩/可卡犬并要求你向他们解释演员,你会从哪里开始?我问,因为我的主人的项目在很大程度上涉及他们,每隔一天有人要我告诉他们我在做什么.当我和其他人谈论我的课程时并不是那么糟糕 - 通常这个概念是外来的但是可以理解 - 但最近我的室友,一位化学家,让我向她解释,并说我挣扎将是一个非常糟糕的轻描淡写.
我正在寻找传达这个想法的某种解释,而不是技术基础.它可以是一个比喻,它不必是精确的 - 我只是想让他们理解我在做什么.有任何想法吗?
可以有很多演员.所有演员都"同时"行事.并发性是此模型的关键部分.
演员无法知道其他演员的想法.移动信息的唯一方法是使用消息.(没有共享状态)
演员可以接收消息,并通过以下方式对其进行操作:
用它们中的数据进行计算
向其他演员发送消息
创造其他演员.
忽略/丢弃消息.
这基本上让演员就像......人.人们不知道对方在想什么,他们必须发送信息来传达信息,他们可以选择忽略传入的信息,考虑信息或与其他人沟通.随机坏事可能发生在人身上.很多人都在同一时间做事.要处理更多负载,请添加更多人员.
关于您的主人项目,我建议了解Erlang Web框架.编程语言Erlang基于Actor模型,在包括电话交换机和Facebook消息系统在内的可扩展系统中发挥了巨大作用.
我会尝试一个简单的比喻:
演员是人们在他们的房子里做一些工作.每个房子前面都有一个邮箱.为了相互通信并完成工作,在演员之间发送消息.