erlang
文章平均质量分 83
bestpool
游戏程序员
展开
-
erlang app程序打包及启动流程
我们写完一组功能模块后(在erlang中,以module为单位),总是希望这一组模块,可以打包成一个应用,作为一个单独的整个,可以启动,停止,象 mnesia一样。并可以在其它应用中引用。如何来做到这一点呢。每一个应用都是通过application:start系列函数来启动,ap转载 2011-07-12 10:16:29 · 2441 阅读 · 0 评论 -
erlang 监控树 supervisor
Supervisor Behaviour是一个用来实现一个supervisor进程来监控其他子进程的模块子进程可以是另一个supervisor,也可以是一个worker进程.worker进程一般使用gen_event,gen_fsm或gen_server behaviour来实现转载 2011-07-12 10:32:42 · 8986 阅读 · 0 评论 -
ubuntu网络问题
最近在用erlang写一个认证服务,写好服务后布置到一台184的linux机器上,然后再本地装了一个ubuntu用rpc做压力测试。一个进程线性的执行1万条认证信息,执行到中间,就一直认证通不过了,提示{badrpc,nodedown},我还以为是184上面的服务挂掉了,上去一看,服务好好的。然后telnet 到184,就死活连接不上了,这时telnet 184上的其他端口,也都不成功,u原创 2011-11-24 16:59:42 · 1691 阅读 · 0 评论 -
[Erlang 0014]Erlang垃圾回收机制
前面的Erlang杂记中我们简单提到过Erlang的垃圾回收机制:1.以进程为单位进行垃圾回收 2.ETS和原子不参与垃圾回收.今天我们继续这一话题,关注更多关于细节. 在Erlang的官方文档中,关于垃圾回收的知识散见于各处,要把这些信息收集在一起还是要费些力气的,完全不像微软文档那样系统化,比如这是关于.net framework垃圾回收的文档:http://msdn.microsof转载 2011-12-20 10:24:18 · 1376 阅读 · 0 评论 -
进入Erlang的世界
作为程序员,我们曾经闻听很多“业界动态”,“技术革新”,曾经接触很多“高手箴言”,“权威推荐”。这些正确与否,都已成过去!现在,让我们迎接Erlang盛宴!经历2007年11月在koders.com搜索代码时,发现*.erl格式的源文件,感叹开发语言的花样百出,此时,我觉得erlang是一个丑陋的小家伙,看名字就没有对它提起多少兴趣。2008年初的时候,公司的项目开发中,我有缘认识转载 2011-12-22 15:20:43 · 901 阅读 · 1 评论 -
Erlang类型及函数声明规格
概述意义Erlang为动态语言,变量在运行时动态绑定,这对于我们获取函数的参数及返回值的类型信息具有一定的难度。为了弥补这个不足,在Erlang中我们可以通过type及spec定义数据类型及函数原型。通过这些信息,我们对函数及调用进行静态检测,从而发现一些代码中问题。同时,这些信息也便于他人了解函数接口,也可以用来生成文档。意义 定义各种自定义数据类型定义函数的参数及返回值di转载 2011-12-28 14:05:13 · 1432 阅读 · 0 评论 -
erlang 内存被大量占用,跟踪过程
第一步:查看进程数目是否正常? erlang:system_info(process_count). 第二步:查看节点的内存消耗在什么地方?> erlang:memory(). [{total,2099813400}, {processes,1985444264}, {processes_used,1985276128}, {system,1143691转载 2012-03-26 13:39:24 · 5280 阅读 · 0 评论 -
erlang 开发建议
* 确保没有任何编译警告* Erlang中String采用list实现,32位系统中,其1个字符用8个字节的空间(4个保存value, 4个保存指针)。因此string速度较慢,空间占用较大* 在Server中,总是尽力书写尾递归(tail-recursive)的函数* 使用'++'时,left list会被拷贝,然后添加到right list的头部,因此最好把length转载 2012-04-01 16:57:44 · 2333 阅读 · 0 评论 -
erlang lists 系列函数功能与用法详解(共68个函数)
一,带函数Pred1, all(Pred, List) -> boolean()如果List中的每个元素作为Pred函数的参数执行,结果都返回true,那么all函数返回true,否则返回false例子:lists:all(fun(E) -> true end,[1,2,3,4]).结果true2, any(Pred, List) -> boolean()原创 2012-03-21 14:23:18 · 39524 阅读 · 3 评论