05 2013 档案
摘要:第八章 并发编程Table of Contents第八章 并发编程8.1 并发原语创建进程向进程发送消息接收消息8.2 一个简单的例子8.3 客户/服务器介绍第一步第二步第三步8.4 创建一个进程需要花费多少时间8.5 带超时的receive8.5.1 只有超时的receive8.5.2 超时时间为0的receive8.5.3 使用一个无限等待超时进行接收8.5.4 实现一个计时器8.6 选择性接收8.7 注册进程注册进程取消注册判断是否已注册查看注册列表8.8 如何编写一个并发程序8.9 尾递归技术8.10 使用MFA启动进程8.11 习题测试注册函数测试发送消息第八章 并发编程Erlang
阅读全文
摘要:第七章 并发Table of Contents并发第七章 并发这里作者再次强调了其对并发编程的理解, 即并发是一种本能, 而不是像共享内存的并发编程方式那样, 为了防止同时修改, 需要加锁, 而这种机制的复杂程度及带来的一系列的问题, 都使得并发编程成为了一种看似高级的技能, 而并不是像作者所理解的那样:即使你不会开车, 看到车向你驶来, 你也会躲避, 这是人的一种本能反应。而Erlang基于消息的并发编程方式, 恰恰让通过Erlang编写并发程序成为一种与生俱来的能力而不是什么高级技巧。就好像作者在这里所举的记电话号码的例子, 它来源于真实生活场景, 或者说是在真实世界中的行为方式, 因为基
阅读全文
摘要:第六章 编译并运行程序Table of Contents编译并运行程序6.1 开启和停止Erlang shell6.2 配置开发环境6.2.1 为文件加载器设定搜索路径6.2.2 在系统启动时批量执行命令6.3 运行程序的几种不同方法6.3.1 在Erlang shell中编译运行6.3.2 在命令行提示符下编译运行6.3.3 把程序当做escript脚本运行6.3.4 用命令行参数编程6.4 使用makefile进行自动编译6.4.1 makefile模版6.4.2 定制makefile模版6.5 在Erlang shell中的命令编辑6.6 解决系统死锁6.7 如何应对故障6.7.1 未定
阅读全文
摘要:第五章 顺序型编程进阶Table of Contents第五章 顺序型编程进阶5.1 BIF5.2 二进制数据5.3 比特语法5.3.1 16bit色彩的封包与解包5.3.2 比特语法表达式5.3.3 高级比特语法样例5.4 小问题集锦5.4.1 apply5.4.2 属性5.4.3 块表达式5.4.4 布尔类型5.4.5 布尔表达式5.4.6 字符集5.4.7 注释5.4.8 epp5.4.9 转义符5.4.10 表达式和表达式序列5.4.11 函数引用5.4.12 包含文件5.4.13 列表操作符++和--5.4.14 宏5.4.15 在模式中使用匹配操作符5.4.16 数值类型5.4.1
阅读全文
摘要:第四章 异常Table of Contents第四章 异常4.1 异常4.2 抛出异常4.3 try…catch4.3.1 缩减版本4.3.2 使用try…catch的编程惯例4.4 catch4.5 改进错误信息4.6 try…catch的编程风格4.6.1 经常会返回错误的程序4.6.2 出错几率比较小的程序4.7 捕获所有可能的异常4.8 新老两种异常处理风格4.9 栈跟踪第四章 异常4.1 异常Erlang通过throw(Exception)、exit(Exception)、erlang:error(Exception)来抛出异常。Erlang捕获异常的两种方式:使用try…catch
阅读全文
摘要:第三章 顺序型编程Table of Contents第三章顺序型编程3.1 模块3.2 购物系统–进阶篇3.3 同名不同目的函数3.4 fun、匿名函数、lambda3.4.1 以fun为参数的函数3.4.2 返回fun的函数3.4.3 自定义抽象流程控制3.5 简单的列表处理3.6 列表解析3.6.1 快速排序3.6.2 毕达哥拉斯三元组3.6.3 变位词3.7 算术表达式3.8 断言3.8.1 断言序列3.8.2 断言样例3.8.3 true断言的使用3.8.4 过时的断言函数3.9 记录3.9.1 创建和更新记录3.9.2 从记录中提取字段值3.9.3 在函数中对记录进行模式匹配3.9.
阅读全文
摘要:第二章 入门Table of Contents第二章 入门2.1 概览2.2 Erlang安装2.3 代码地址2.4 启动Shell2.5 整数运算2.6 变量2.7 浮点数2.8 原子2.9 元组2.10 列表2.11 字符串第二章 入门 2.1 概览2.1.1 阶段1:茫然无绪安装Erlang启动Erlang ShellErlang Shell的基本使用在文本编辑器中编写Erlang程序在Erlang Shell中编译和运行程序2.1.2 阶段2:初窥门径Erlang Shell的高级功能Erlang的各种模块Erlang的自动编译和执行运用OTP编写分布式程序2.1.3 阶段2.5:观其
阅读全文
摘要:第一章 引言Table of Contents第一章 引言1.1 路线图1.2 正式起航第一章 引言学习Erlang的理由:希望编写能在多核计算机上运行更快的程序希望编写不停机即可修改的可容错性程序希望尝试传闻中的"函数式语言"是否切实可行希望使用一种语言,它既能在大规模工业产品中经过实战检验,又不乏优秀的类库和活跃的社区不希望冗长繁琐的代码中浪费时间1.1 路线图第二章:对Erlang快速起步第三章:顺序型编程初步第四章:异常处理第五章:顺序型编程高级主题第六章:编译与运行程序第七章:Erlang的编程思想与视角第八章:Erlang的并发性第九章:并行程序中的错误第十章:
阅读全文