- 浏览: 24451 次
- 性别:
- 来自: 北京
-
最新评论
文章列表
erlang的并发(二)
- 博客分类:
- erlang
生产中erlang的并发处理大多都是依靠四大行为来完成,这个以后再说!
我们有的时候可能会误解一个问题就是一个接收消息是如何处理的,直观的去看,是A发一条消息给B,B处理以后返回一个消息,一开始我也这么想,但是这 ...
erlang的并发(一)
- 博客分类:
- erlang
对于erlang,我并没用深入的研究过,充其量是一个业余选手,工作中用到了或有不懂得我就自己做做实验或看看源码给自己一个交代!
erlang的并发
erlang的并发在于进程,进程也是erlang的灵魂(至少我这么认为),并发也就是并行,你在运行我也在运行(我们不考虑计算机自身内存的处理方式,因为我们感觉不到),而且各自拥有自己的内存,A进程想于B进程互相交流就只能靠发送消息,然后依靠返回的结果让A进程知道B进程的一个状态
基本格式为(大家都知道)
Pid ! Message
receive
……
end
接下来让我们做一点有趣的事情 ...
erlang的list(三)
- 博客分类:
- erlang
list的操作很灵活,特别是在erlang中,不仅库函数提供了大量的操作,而且利用匹配模式也能很好的对list数据进行操作,但是相对简单又快速的要数列表解析,
所谓的列表解析,其实就是将现有列表中的元素逐一进行操作然后生成一个新的列表 例如下面的代码
Eshell V5.9 (abort with ^G)
1> List = [1,2,3,4,5].
[1,2,3,4,5]
2> [2*X||X<-List].
[2,4,6,8,10]
3>
这其实很好理解,只是一种简单的规则。
在erlang中模式匹配无处不在 ...
erlang的list(二)
- 博客分类:
- erlang
循环对于list是一个相当重要的操作,下面我们来看一下lists:keyreplace的库函数是怎样完成的
628-spec keyreplace(Key, N, TupleList1, NewTuple) -> TupleList2 when
629 Key :: term(),
630 N :: pos_integer(),
631 TupleList1 :: [Tuple],
632 TupleList2 :: [Tuple],
633 NewTuple :: Tuple,
634 Tuple :: tupl ...
erlang的list(一)
- 博客分类:
- erlang
之所以先从lists说起,因为大部分erlang的使用都离不开list,就连erlang中的string类型的数据其实也不过是一个list,erlang为什么对list那么情有独钟,作为一个并不深入这种语言的使用者我也说不好,不过我个人感觉,相比数组,list更方便于这种函数型语言对一个数据进行解析创建和修改,搭配于tuple(元组)也更利于一个数据的封装。
加上对于list并没有设置大小,而是随数据的增长而增长,在处理数据的时候程序员也不需要刻意的去裁定内存的问题,做个小实验,我们写一个循环数据到erlang中List
-module(test).
...
我没有记录的习惯,虽然也在博客里写过些东西,不过都没有坚持下来,因为我是个懒人,稍稍还有些三分钟的热血,其实这对搞技术的人来说是是最大的弱点,所以现在有好多以前拿手的知识也都淡忘了,工作以后遇到过许多新语言和新框架新思想,一直在接触,也一直在学习,一直在学习,也一直在遗忘,现在看来,真的是好记性不如烂笔头,其实逼着自己把一些东西记录下来还是不错的,将来看一看,也算是对自己工作经历的一个印证。