摘要:从这篇开始,这一系列主要分析在开源社区中,Erlang 相关pool 的管理和使用.在开源社区,Emysql 是Erlang 较为受欢迎的一个MySQL 驱动. Emysql 对pool 的管理和使用是非常典型的,pool 的管理角色中,主要有available(记录当前pool 中可供使用的成员)... 阅读全文
posted @ 2015-02-09 17:45 _00 阅读(2706) 评论(0) 推荐(1) 编辑
摘要:gen_server 相关的片段分析得也差不多了, 这篇作为一个简要的总结.这一系列相关的分析暂且告一段落(之后如有必要,还会回来的 ^^ ),下一个系列主要是以pool 相关, 包括但不仅限于开源项目pooler, poolboy, emysql 中的pool 的管理, rabbitmq-serv... 阅读全文
posted @ 2015-02-08 23:28 _00 阅读(345) 评论(0) 推荐(0) 编辑
摘要:这是Erlang generic standard behaviors gen_server 分析的系列的最后一篇,主要分析gen_server module 辅助性的功能函数.在gen_server 的MAIN loop 流程中,除了处理Parent 的'EXIT' 消息, user module... 阅读全文
posted @ 2015-02-07 22:37 _00 阅读(1016) 评论(0) 推荐(0) 编辑
摘要:在Erlang 系统中,经常需要gen_server 进程来处理共享性的数据,也就是总希望一个gen_server 进程来为多个普通进程提供某种通用性的服务,这也是gen_server 设计的初衷.但是,由于公平调度的原因,在Erlang体系中,每个process 能获得的资源都是同等的:同等的CP... 阅读全文
posted @ 2015-02-06 18:48 _00 阅读(959) 评论(0) 推荐(0) 编辑
摘要:hibernate 主要用于在内存空闲时,通过整理进程的stack,回收进程的heap 来达到回收内存节省资源的效果.hibernate 可用于OTP 进程以及普通进程, hibernate 的官方文档 erlang:hibernate/3Puts the calling process into ... 阅读全文
posted @ 2015-02-05 14:31 _00 阅读(967) 评论(0) 推荐(2) 编辑
摘要:gen_server 主体 module 已经分析完了(http://www.cnblogs.com/--00/p/4271982.html),接着,分析下gen_server 中的terminate .首先分析一个问题, 这个问题是之前在weibo 上和别人讨论过的一个问题:Why will a ... 阅读全文
posted @ 2015-02-04 15:45 _00 阅读(632) 评论(0) 推荐(0) 编辑
摘要:在分析完gen module (http://www.cnblogs.com/--00/p/4271386.html)之后,就可以开始进入gen_server 的主体module 了.gen_server 的主体 module 暂不涵括terminate, hibernate, debug trac... 阅读全文
posted @ 2015-02-04 12:46 _00 阅读(581) 评论(0) 推荐(2) 编辑
摘要:在分析 gen_server (或者是gen_fsm )之前,首先应该弄明白,gen 这个module .1 -module(gen).2 -compile({inline,[get_node/1]}).3 4 %%%-----------------------------------------... 阅读全文
posted @ 2015-02-04 00:12 _00 阅读(612) 评论(0) 推荐(1) 编辑