`
jias_je
  • 浏览: 40623 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

erlang 读书笔记

阅读更多
1,进程字典
   所谓进程字典 他的作用域是他所在的process,如果在主线程 put(name,"jias"),那么在该线程spawn出来的子线程里面用get(name)将会得到undefined。
   put(key,value):如果是第一次给这个key关联值,返回undefined,否则返回前一次被关联的值;
   get()和get(key)。前一个返回一个[{key,value}],后一个如果有value和key关联返回value否则返回undefined;
   erase(),erase(key)。前一个擦除所有,后一个擦除和key有关的{key,value}。
   get_keys(value)。返回关联value的所有key。

2,Expr1 orelse Expr2 前为真则不判断后,前为假判断后;Expr1 andalso Expr2 前为真判断后,前为假不判断后;Expr1 or Expr2和Expr1 and Expr2无论前是真是假都判断后

3,case of:表达式计算出来后从上到下进行模式匹配,如果匹配到某一个则计算它的表达式然后退出,相当于c中的switch break这类的,如果一个都没匹配上则产生异常,所以最后一个会用一个 _ 之类的来绝对匹配避免异常。
   if
Guard1 ->
Expr_seq1;
Guard2 ->
Expr_seq2;
...
end 这个跟case of的基本上一样区别在于Guard1 属于非真即假的判断,而case of 则是一般的erlang term,最后一个Guard一般直接写true也是为了避免异常

4,pro erlang 上说不论是系统还是非系统进程接收到kill信号都会死掉并发送killed给自己的link set,自己试验了一下发现系统进程只有接收到同样是系统进程的kill信号才会有如上的表现,非系统发送的kill他会接收并{'EXIT',PID,kill}并进行想要的处理,当然所有以上前提是他们都是link着的。如果a和b没有link关系且都是系统进程那么在b中exit(a,kill)会把a给干掉,其实有点不解没有link的两个进程不应该有这种关系。
分享到:
评论

相关推荐

    erlang 学习笔记1

    【标题】"Erlang 学习笔记1" 在深入探讨Erlang这一强大的并发编程语言之前,我们先来理解一下Erlang的基本概念。Erlang是由瑞典电信设备制造商Ericsson开发的一种函数式编程语言,它最初设计的目的是为了处理分布式...

    读书笔记:ErlangOTP设计原则中文文档.zip

    读书笔记:ErlangOTP设计原则中文文档

    erlang学习笔记

    ### Erlang学习笔记:深入解析Erlang编程与系统管理 #### 1. Erlang编程基础与资源 在深入探讨Erlang编程之前,我们首先需要了解一些基础资源和学习资料。Erlang官方网站([www.erlang.org](http://www.erlang.org...

    erlang 笔记

    ### Erlang程序设计知识点概述 #### 1. Erlang基础语法与函数定义 - **模块定义**: 在Erlang中,所有的代码都包含在模块之中。例如:`-module(tut).` 定义了一个名为`tut`的模块。 - **函数定义与导出**: 函数定义...

    Scala、Groovy++、Stackless Python、Erlang 学习笔记及分享

    Erlang以其容错性和高可用性著称,广泛应用于电信、分布式系统和实时计算领域。 压缩包中的"编程语言简谈.pptx"文件可能包含了对这些语言的深入探讨,包括它们的设计哲学、语法特性、优缺点以及在实际项目中的应用...

    java版商城源码-hello-erlang:Erlang的笔记和例子

    的笔记和主要引用。 检查部分以查看我从哪里获取报价。 请注意,此 repo 始终在进行中。 (我还没找到时间完成这本书。) 话题 陷阱 erlang 没有null值这样的东西 每个函数都需要返回一些东西 erlang 不允许在函数中...

    erlang编程 Introducing Erlang

    **Erlang编程:Introducing Erlang** Erlang是一种函数式编程语言,由爱立信在1986年开发,主要用于构建高可用性、容错性和并发性的分布式系统。"Introducing Erlang"是Simon St. Laurent撰写的一本入门级教程,...

    erlang25.0 windows版本

    Erlang是一种高级编程语言,特别适用于并发、分布式和实时系统。它由Ericsson公司开发,主要用于构建高可用性、容错性和可扩展性的软实时系统。Erlang的25.0版本是该语言的一个更新,针对Windows操作系统进行了优化...

    erlang_版本24.3.4.4

    Erlang是一种面向并发的、函数式编程语言,由瑞典电信设备制造商Ericsson开发,主要用于构建高可用性、分布式和实时系统。版本24.3.4.4是Erlang的一个更新版本,包含了对先前版本的改进和修复。Erlang以其强大的错误...

    Erlang/OTP 26.2.1

    Erlang/OTP 26.2.1,Erlang,OTP,26.2.1

    erlang资源

    这个“erlang资源”包含两本PDF书籍——《Erlang并发编程》和《Erlang入门手册》,它们是深入理解和学习Erlang语言的关键资料。 《Erlang并发编程》这本书可能涵盖了以下知识点: 1. **并发模型**:Erlang的并发...

    erlang22最新下载包

    Erlang是一种面向并发的、函数式编程语言,由瑞典电信设备制造商Ericsson为了实现分布式实时、高可靠性系统而开发。Erlang以其强大的并行处理能力、容错性和易于构建大规模分布式系统的特点,在电信、金融和互联网等...

    Erlang官网下载过慢

    Erlang是一种面向并发的、函数式编程语言,主要用于构建高度可扩展的、容错性强的分布式系统。在IT行业中,Erlang因其强大的实时性和处理大量并发连接的能力而被广泛应用于电信、互联网基础设施和实时系统。RabbitMQ...

    ErlangB和ErlangC计算工具(exe可执行文件+excel两个)

    Erlang B和Erlang C是电信领域中两种重要的流量模型,用于预测和分析通信系统中的呼叫处理能力和拥塞情况。这两个模型由丹麦工程师Agner Krarup Erlang在20世纪初提出,至今仍广泛应用于现代通信网络的设计与优化。 ...

    erlang安装包.zip

    erlang安装包

    xiandiao_erlang_Erlang课后习题_

    【Erlang编程语言及其应用】 Erlang是一种并发式、函数式的编程语言,由瑞典电信设备制造商Ericsson开发,最初用于构建高可用性、容错性和可扩展性的分布式系统。"xiandiao_erlang_Erlang课后习题_"这个压缩包文件...

    Erlang 20.3linux安装包

    Erlang是一种面向并发的、函数式编程语言,主要用于构建高度可扩展的、容错性强的分布式系统。在IT行业中,Erlang因其强大的实时性、并发性和内存管理机制而被广泛应用于网络通信、数据库系统以及消息中间件,如...

    erlang9.rar

    Erlang是一种高级编程语言,特别适用于并发、分布式和实时计算系统。它的设计目标是创建一个高可用性、容错性强、低延迟的系统。Erlang9指的是Erlang/OTP(Open Telephony Platform)的第9个主要版本。OTP是Erlang...

    Erlang程序设计(第2版)读书笔记:Erlang安装和基础语法

    Erlang是一种专门用于并发计算的高级编程语言,由瑞典爱立信公司开发。它尤其适合于开发分布式、高可用性和容错性的系统。Erlang语言以其独特的并发模型、轻量级进程、消息传递和分布式计算能力闻名,非常适合处理...

    erlang otp25 win安装包

    erlang otp25 win安装包

Global site tag (gtag.js) - Google Analytics