Erlang的Actor回顾:将消息**为逻辑执行

问题描述

Erlang的Actor:根据消息模式选择逻辑分支在Erlang中,一个消息往往为一个元组,而一个Actor便会根据这个消息的模式,或者用更通俗的方式来讲,“结构”,来选择处理消息的逻辑分支。例如对于上面举出的例子,它的模式匹配代码便可能是:receive {chat, Person, Topic} -> ... % “聊天”逻辑 {eat, Restaurant} -> ... % “吃饭”逻辑 {work, Person, **} -> ... % “**活”逻辑 end 小写字母开头的标识符为“原子”,可以认为是一个常量,用于标识这个消息用来“**什么”。大写开头的为“绑定”,可以认为是一个变量(虽然不可变),用于标识这个消息“所使用的数据”。如果使用示意图来表示这个消息执行方式,则类似于:

解决方案

不服不行,楼主就是有水平static/image/common/sigline.gif90%打工小伙一生都不可能知道的秘密 http://67177.miyue999.com/

时间: 2024-09-20 08:00:22

Erlang的Actor回顾:将消息**为逻辑执行的相关文章

php-resque消息队列的执行情况

问题描述 php-resque消息队列的执行情况 2C php-resque消息队列怎么知道已经执行任务了,Linux操作用php demo/check_status.php 查看状态是2,但是job任务应该有错误,因为一直都处于这个状态,而且数据库没有新数据产生,怎么进行断电查看呢.

Catalyst 优化逻辑执行计划规则

Optimizer 本文分析Catalyst Optimize部分实现的对逻辑执行计划(LogicalPlan)的处理规则. Optimizer处理的是LogicalPlan对象. Optimizer的batches如下: object Optimizer extends RuleExecutor[LogicalPlan] { val batches = Batch("ConstantFolding", Once, ConstantFolding, // 可静态分析的常量表达式 Boo

Pig源码分析: 逻辑执行计划模块

Whole View 本文分析的是Pig Logical模块的代码(newplan package下),具体每种逻辑执行的实现类不会做具体分析. Architecture 关键类/接口关系图 下面对关键类/接口具体实现做分析 Operator public abstract class Operator { protected SourceLocation location; // The location of the operator in the original pig script.

数据库中的SELECT语句逻辑执行顺序分析_Mysql

引言 这不是一个什么多深的技术问题,多么牛叉的编程能力.这跟一个人的开发能力也没有非常必然的直接关系,但是知道这些会对你的SQL编写,排忧及优化上会有很大的帮助.它不是一个复杂的知识点,但是一个非常基础的SQL根基.不了解这些,你一直用普通水泥盖房子:掌握这些,你是在用高等水泥盖房子. 然而,就是这么一个小小的知识点,大家可以去调查一下周围的同事朋友,没准你会得到一个"惊喜". 由于这篇文章是突然有感而写,下面随手编写的SQL语句没有经过测试. 看下面的几段SQL语句: 复制代码 代码

Pig源码分析: 逻辑执行计划优化

Whole View 本文分析的是逻辑执行计划优化的代码结构,具体每种Rule的实现不做分析. 看本文之前最好参考之前那篇逻辑执行计划模型的文章. Architecture 几个关键类/接口的关系: 每个关键类/接口的实现和继承结构在下面各节展开. Optimizer PlanOptimizer是抽象类,主要和Rule.PlanTransformListener.OperatorPlan打交道. public abstract class PlanOptimizer { protected Li

转载《mysql 一》:mysql的select查询语句内在逻辑执行顺序

原文:http://www.jellythink.com/archives/924 我的抱怨 我一个搞应用开发的,非要会数据库,这不是专门的数据库开发人员干的事么?话说,小公司也没有数 据库开发人员这么个职位吧.好吧,对数据库最深的印象还停留在大学<数据库原理>这堂课上,什么第一范式,第二范式-,这些理论的东西,多多少少还是记得 点,至于更深层次的,我不会.所以呢,撸起袖子,开始学习吧. 干程序员,最不怕的就是学习,如果你连学习都怕了,那还是早点退出这行吧.你说是吧.而我今天这篇文章,既不总结

Akka学习笔记(二):Actor Systems

Akka学习笔记(二):Actor Systems 图中表示的是一个Actor System,它显示了在这个Actor System中最重要实体之间的关系. 什么是actor,是一个封装了状态和行为的对象,每个actor都通过message交流,从自己的mailbox中读取别的actor发送的消息. 注意: ActorSystem是重量级的对象,会创建1...N个线程,所以一个application一个ActorSystem. 层次结构 假设有一个actor,它的一个功能过于复杂,为了降低复杂度

一个用于实现并行执行的 Java actor 库

即使 Java 6 和 Java 7 中引入并发性更新,Java 语言仍然无法让并行编程变得特别容易.Java 线程.synchronized 代码块.wait/notify 和 java.util.concurrent 包都拥有自己的位置,但面对多核系统的容量压力,Java 开发人员正在 依靠其他语言中开创的技术.actor 模型就是这样一项技术,它已在 Erlang.Groovy 和 Scala 中实现.本文为那些希望 体验 actor 但又要继续编写 Java 代码的开发人员带来了 μJa

ActorLite:一个轻量级Actor模型实现(中)

从上一篇文章的反响来看,似乎大家对于这一话题并没有太大兴趣.而这篇文章将会 为大家带来一个简单但完整的Actor模型实现.此外,在下一篇文章中--可能会出现一 些让您觉得有趣的东西.:) 任务分配逻辑 如上文所述,这次要实现的是一个非常简单的Actor模型,使用基于事件的分配方式, 直接把任务交给.NET自带的线程池去使用.不过我们又该什么时候把一个Actor推入线程 池的执行队列呢?这其实取决于我们执行Actor的两个"基本原则": 如果Actor的邮箱中包含消息,那么要尽早执行.