- 博客(7)
- 收藏
- 关注
转载 Erlang程序运行时 出现错误原因
在Erlang编程指南中,提到了Erlang程序在运行是出现的错误,并简单说明了原因,在此记录下,并简单描述下避免错误发生的措施。以供今后查询之用。 1、function_clause 当已存在的函数模式无一匹配该函数时,就是出现该错误。此错误通常发生在两种情况下:1、在分析条件中,遗漏某种匹配模式;2、使用了错误的参数。 factorial(N) when
2012-12-23 21:35:51 2878
转载 关于erlang的进程池
有两种情况需要考虑使用进程池管理erlang进程。 一种是普通erlang进程,很便宜,一次可以并行很多(默认32K,当然可以调整vm参数设置更大),但是这不意味着可以无限制的使用,实际上轻松的达到上限是很容易的(想想发明国际象棋的那位向国王请赏的办法,类似的,一个进程开两个,两个再开四个,四个再开8个。。。。,很容易就达到了上限),因此有时候我们需要对进程进行管理,避免无限制的使用累垮系
2012-12-23 21:34:52 508
转载 Erlang的常用启动参数 - 2
原文见于%erlang安装目录%/erts-版本号/doc/html/erl.html,选择了一些自己用过的,或者觉得重要常用的参数记录一下,备查。 erlang启动参数有3种:emulator flags, flags 和plain arguments。 emulator flags 是以“+”开头的,用来控制模拟器的行为,附送一个非常实用的例子:
2012-11-10 12:07:47 1000
转载 Erlang的常用启动参数 - 1
+a size 系统栈大小, 默认16KB +A size 异步线程池大小, 默认为0 +d 系统错误不生成crash文件 +e Number ETS表最大数量 +K true | false 是否启用操作系统的poll机制 +P Number 最大并发线程数 +l 自动载入启动跟踪器并显示 +W w | i 设置error_logger的
2012-11-10 12:06:32 869
转载 Erlang里实现MapReduce
MapReduce的主要原理是将一个数据集上的计算分发到许多单独的进程上(map),然后收集它们的结果(reduce)。 在Erlang里实现MapReduce非常细节也十分简单,例如Erlang的作者Joe Armstrong发表了一段代码来表示MapReduce版本的Erlang标准lists:map/2方法: pmap.erl Java代码 -mo
2012-11-09 16:38:57 330
转载 ets结合record的增删改查操作
record作为erlang的一种数据结构(特殊的Tuple,类似数组),通常用于函数量传递. 我们也可以选择ETS内存表作为存放record,Ets非常适合大量临时数据存储,最重要 的是ETS可以和record进行无逢结合. %%在Eshell下声明record users 1> rd(users, {uid,website="t.qq.com/lajabs",name,
2012-11-09 15:32:22 534
转载 erlang:lists函数
一,带函数Pred 1, all(Pred, List) -> boolean() 如果List中的每个元素作为Pred函数的参数执行,结果都返回true,那么all函数返回true, 否则返回false 例子: lists:all(fun(E) -> true end,[1,2,3,4]). 结果 true 2, any(Pred, List) -> boolean()
2012-08-22 11:38:57 627
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人