摘要: 第二十章 多核编程Table of Contents第二十章 多核编程20.1 如何在多核的CPU上更有效率的运行20.1.1 使用大量进程20.1.2 避免副作用20.1.3 顺序瓶颈20.2 并行化顺序代码20.3 小消息, 大计算20.4 map-reduce算法和磁盘索引程序20.4.1 map-reduce算法20.4.2 全文检索20.4.3 索引器的操作20.4.4 运行索引器20.4.5 评论20.4.6 索引器的代码第二十章 多核编程20.1 如何在多核的CPU上更有效率的运行20.1.1 使用大量进程这个标准…显而易见。20.1.2 避免副作用因为存在副作用, 导致使用共享 阅读全文
posted @ 2014-01-06 14:32 Cloud&Matrix 阅读(544) 评论(0) 推荐(0) 编辑
摘要: 第十九章 多核小引Table of Contents第十九章 多核小引第十九章 多核小引类C语言因为都是基于状态共享的并发, 因此面对共享内存有着绕不过去的锁机制, 而Erlang采用基于消息传递的并发, 因此彻底消除了这个问题。 Date: 2013-12-07 10:56:12 CSTAuthor: matrixmatrix.lisp@gmail.comOrg version 7.8.11 with Emacs version 24Validate XHTML 1.0 阅读全文
posted @ 2014-01-06 14:29 Cloud&Matrix 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 第十八章 构造基于OTP的系统Table of Contents第十八章 构造基于OTP的系统18.1 通用的事件处理18.2 错误日志18.2.1 记录一个错误18.2.2 配置错误日志18.2.3 分析错误18.3 警报管理18.4 应用服务18.4.1 素数服务18.4.2 面积服务18.5 监控树18.6 启动整个系统18.7 应用程序18.8 文件系统的组织18.9 应用程序监视器18.10 进一步深入第十八章 构造基于OTP的系统18.1 通用的事件处理%% 创建一个注册名为Name的进程, 这个进程执行my_handler函数 make(Name) -> register( 阅读全文
posted @ 2014-01-06 14:26 Cloud&Matrix 阅读(454) 评论(0) 推荐(0) 编辑
摘要: 第十七章 Mnesia: Erlang数据库Table of Contents第十七章 Mnesia: Erlang数据库17.1 数据库查询17.1.1 选取表中所有的数据17.1.2 选取表中的数据17.1.3 按条件选取表中的数据17.1.4 从两个表选取数据(关联查询)17.2 增删表中的数据17.2.1 增加一行17.2.2 删除一行17.3 Mnesia事务17.3.1 取消一个事务17.3.2 加载测试数据17.3.3 do()函数17.4 在表中保存复杂数据17.5 表的类型和位置17.5.1 创建表17.5.2 表属性的常见组合17.5.3 表的行为17.6 创建和初始化数据 阅读全文
posted @ 2014-01-06 14:26 Cloud&Matrix 阅读(563) 评论(0) 推荐(0) 编辑
摘要: 第十六章 OTP概述Table of Contents第十六章 OTP概述16.1 通用服务器程序的进化路线16.1.1 server1: 原始服务器程序16.1.2 server2: 支持事务的服务器程序16.1.3 server3: 支持热代码替换的服务器程序16.1.4 server4: 同时支持事务和热代码替换16.1.5 server5: 压轴好戏16.2 gen_server起步16.2.1 第一步: 确定回调模块的名称16.2.2 第二步: 写接口函数16.2.3 第三步: 编写回调函数16.3 gen_server回调的结构16.3.1 启动服务器程序时发生了什么16.3.2 阅读全文
posted @ 2014-01-06 14:26 Cloud&Matrix 阅读(394) 评论(0) 推荐(0) 编辑
摘要: 第十四章 套接字编程Table of Contents第十四章 套接字编程14.1 使用TCP14.1.1 从服务器上获取数据14.1.2 一个简单的TCP服务器14.1.3 改进服务器14.2 控制逻辑14.2.1 主动型消息接收(非阻塞)14.2.2 被动型消息接收(阻塞)14.2.3 混合型模式(半阻塞)14.3 连接从何而来14.4 套接字的出错处理14.5 UDP14.5.1 最简单的UDP服务器和客户机14.5.2 一个计算阶乘的UDP服务器14.5.3 关于UDP协议的其他注意事项14.6 向多台机器广播消息第十四章 套接字编程14.1 使用TCP14.1.1 从服务器上获取数据 阅读全文
posted @ 2014-01-06 14:25 Cloud&Matrix 阅读(647) 评论(0) 推荐(0) 编辑
摘要: 第十五章 ETS和DETS:大数据的存储机制Table of Contents第十五章 ETS和DETS:大数据的存储机制15.1 表的基本操作创建和打开表插入表查找元组释放表15.2 表的类型set表ordered set表bag表duplicate bag表代码示例15.3 ETS表的效率考虑15.4 创建ETS表15.5 ETS程序示例15.5.1 三字索引迭代器15.5.2 构造表15.5.3 构造表有多快15.5.4 访问表有多快15.5.5 胜出的是…15.6 DETS15.7 我们没有提及的部分第十五章 ETS和DETS:大数据的存储机制ETS和DETS都提供"键-值& 阅读全文
posted @ 2014-01-06 14:25 Cloud&Matrix 阅读(1688) 评论(0) 推荐(0) 编辑
摘要: 第十三章 对文件编程Table of Contents第十三章 对文件编程13.1 库的组织结构file模块filename模块filelib模块io模块13.2 读取文件的不同方法13.2.1 从文件中读取所有Erlang数据项13.2.2 从文件的数据项中一次读取一项13.2.3 从文件中一次读取一行数据13.2.4 将整个文件的内容读入到一个二进制数据中13.2.5 随机读取一个文件13.2.6 读取ID3标记13.3 写入文件的不同方法13.3.1 向一个文件中写入一串Erlang数据项13.3.2 向文件中写入一行13.3.3 一步操作写入整个文件13.3.4 在随机访问模式下写入文 阅读全文
posted @ 2014-01-06 14:24 Cloud&Matrix 阅读(790) 评论(0) 推荐(0) 编辑
摘要: 第十二章 接口技术Table of Contents第十二章 接口技术12.1 端口创建端口发送数据改变连接进程的PID关闭端口为一个外部C程序添加接口12.2.1 C程序12.2.2 Erlang程序12.3 open_portPortNameOpt12.4 内联驱动12.5 注意第十二章 接口技术Erlang运行第三方代码时需要一个与Erlang运行时系统相互独立的外部程序, 两者通过二进制通道进行通信。在Erlang中是通过端口连接进程来作为中间人管理两者之间的通信。12.1 端口创建端口Port = open_port(PortName, PortSettings)发送数据Port ! 阅读全文
posted @ 2014-01-06 14:24 Cloud&Matrix 阅读(479) 评论(0) 推荐(0) 编辑