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

并发编程实战otp--open telecom platform 一

 
阅读更多

1.erlang 的进程模型:
 并发的基本单位是进程,每个进程都代表一个持续的活动,进程封装了状态,不能共享,让他独立于其它进程来思考和生存,相互隔离,并确保自身内部状态的改变不对其他进程造成影响。
  由于以上,只能进行复制必的通信。(因为是复制,所以分布式很容易,每个接收方都有一个么有的消息copy,意味着网络编程和单机编程完成一样。
2. 4种进程通信范式:
  1.   持锁的共享内存: 就和goto一样,身为主流进程通信技能,锁的应用太广泛,开销太大(死锁,多重锁什么的)。
  2.       软件事务性内存: 多个竞争进程同时请求事务,只有一个成功,其它则失败后重新请求,(事务系统本身开销大)。
  3.   Future Promise及同类机制: 每一个future代表一个被外包到其它进程的计算结果,进程可能跑在别的cpu,缺点:远端故障和网络故障时无所适从。
  4.   消息传递:同步和异步:好多独立数据的copy。复制大型数据结构成本很高。内存消耗大。但是最简单,务实,灵活
3. 用erlang进程编程:
  生成一个进程跟在普通面向对象语言中分配一个对象的开销差不多。
  1.   创建进程,派生; 典型的线程会在地址空间中为自己放数M栈的空间,erlang进程在启动时只需求几百字节并且可以按需伸缩。spawn(io,format,["erlang"]).
  2.       进程之间打交道;用!读作bang 目的地!消息 (寄明信片一样的)
  3.   进程的终止:进程工作内存,信箱,其他资源都会回收。必须在彰显式地将数据以消息的形式投递出去。 异常(造成进程意外提前终止,其它进程也会收到通知),容错
4. Erlang的容错架构:
  1. 进程链接如何工作;

        
  2. 监督与退出信号的捕捉;
          trap_exit标记后,有一条{"EXIT,Pid,Reason}的消息,
  3. 进程的分层容错;尽量小范畴的重启,粒子量越小越好。
   所有的关键在于监控树要建好。
   那为什么还搞分布:内存,硬盘驱动,网络连接一个机器都是有限的,要搞之分布。,隔离使之不宕机。
5. Erlang运行时系统和虚拟机
  标准Erlang实现是一个erlang运行时系统ERTS----调度器,I/0模型,垃圾回收器。
  这是一片我不理解的领土。
6. 函数式编程:Erlang的独具匠心的处世之道。
  :将函数看作和整数,字符串一样的数据;运用函数调用而非while for来表达算法;不修改变量的值




    

分享到:
评论

相关推荐

    Erlang OTP并发编程实战(中文版)

    OTP(Open Telecom Platform)是Erlang编程语言的核心组件,提供了强大的并发处理能力和分布式系统构建框架。这本书以中文版的形式,帮助中文读者更便捷地学习和掌握这一技术。 **Erlang** 是一种面向并发的、函数...

    otp-win64-25.0.1.exe ErLang 下载

    OTP(Open Telecom Platform)是ErLang的核心组成部分,它提供了一个强大的开发框架,包含了一系列库、设计模式和工具,帮助开发者构建高效、容错且易于维护的系统。 在给定的标题“otp-win64-25.0.1.exe”中,我们...

    otp-OTP-19.3.zip

    OTP,全称是Open Telecom Platform,是Ericsson公司开发的一套用于构建可靠、可扩展、高效并发系统的软件框架。OTP的核心是Erlang编程语言,它提供了强大的并发处理能力和容错机制,使得在分布式系统中实现高可用性...

    otp-win64-25.3.exe

    标题中的"otp-win64-25.3.exe"是一个针对Windows 64位操作系统的 OTP(Open Telecom Platform)软件的可执行文件。OTP是由Ericsson开发的一个开源框架,主要用于构建高度可靠、可扩展和可维护的分布式系统,尤其是...

    otp-win64_20.1 64位

    标题中的"otp-win64_20.1 64位"指的是Erlang的 OTP (Open Telecom Platform) 的一个特定版本,适用于64位Windows操作系统。OTP是Erlang编程语言的核心部分,提供了一个强大的并发框架、分布式计算支持以及故障恢复...

    otp-src-25.3.tar.gz

    标题 "otp-src-25.3.tar.gz" 暗示了这是一个Erlang的开源平台(Open Telecom Platform,OTP)的源代码压缩包,版本为25.3。OTP是Ericsson公司开发的一个用于构建高可用性、分布式系统的重要框架,它包括了Erlang...

    rabbit mq windows64rabbitmq-server-3.12.4.exe otp-win64-26.0.ex

    OTP(Open Telecom Platform)是Erlang的一个框架,提供了许多用于构建高度可靠和可扩展系统的工具和库。otp-win64-26.0.exe是Erlang/OTP的Windows 64位安装程序,包含了运行RabbitMQ所需的环境。Erlang以其强大的...

    otp-win64-21.3.exe rabbitmq-server-3.11.2.exe

    "otp"通常代表Open Telecom Platform,是Erlang语言的一个核心部分,提供了一套完整的开发和部署分布式、容错系统的工具。"win64"则表明这是专为64位Windows操作系统编译的版本。而"21.3"是OTP的版本号,这代表了该...

    otp-system-documentation

    Erlang/OTP(Open Telecom Platform)是一个面向并发的编程语言和运行环境,由Ericsson AB自1997年起开发并维护。它旨在为构建高可用性、高可扩展性的分布式系统提供支持,特别适用于电信、电子商务、即时通讯、在线...

    RabbitMQ-Service-3.8.7和对应版本的otp-win64-23.0安装包

    在这个主题中,我们将深入探讨RabbitMQ 3.8.7版本以及与其配套的Erlang OTP(Open Telecom Platform)23.0版本在Windows环境下的安装过程。 首先,`RabbitMQ 3.8.7`是RabbitMQ服务器的一个稳定版本,它提供了多种...

    otp20.3-22.3-rabbitmq3.7.3.zip

    首先,我们来了解一下Erlang OTP(Open Telecom Platform)。OTP是由Ericsson开发的一套用于构建高度可用、容错且可伸缩的分布式系统的框架和库。Erlang是一种函数式编程语言,因其在处理并发和分布式计算方面的优势...

    otp_win64_21.3.exe.7z

    标题中的"otp_win64_21.3.exe.7z"表明这是一个针对Windows 64位系统的Erlang OTP(Open Telecom Platform)版本21.3的安装程序的压缩文件,采用7-Zip格式进行压缩。OTP是Erlang编程语言的核心组件,提供了进程管理、...

    otp_win64_24.0.exe.zip

    标签"erlang"、"erlang24.0"、"erlang_windows版"进一步明确了这个压缩包的内容,它包含的是Erlang OTP(Open Telecom Platform)的24.0版本,专为Windows操作系统设计。OTP是Erlang的核心库,提供了进程管理、...

    otp_src_20.2.tar.rar

    OTP(Open Telecom Platform)是Erlang的核心库,包含了许多用于构建可靠分布式系统的工具和库。版本号"20.2"指的是这个特定的OTP版本,每个版本可能包含了新的特性和修复的错误。 描述中提到的是如何在Windows环境...

    erlang并发编程

    7. OTP(Open Telecom Platform):OTP是Erlang的标准库,提供了一系列的设计模式和库,包括进程、监督树、应用管理和错误处理等,极大地简化了并发和分布式编程。 8. 监督树(Supervision Trees):OTP中的监督树...

    erlang_otp_win64_25.0

    Erlang OTP (Open Telephony Platform) 是一种高级并发编程语言和框架,主要由瑞典电信设备制造商Ericsson开发,用于构建高度可靠、可扩展和实时的分布式系统。Erlang OTP 25.0是该平台的一个版本,特别针对Windows ...

    图书:Erlang和OTP实战

    《Erlang和OTP实战》是一本专注于Erlang编程语言和OTP(Open Telecom Platform)框架的专业书籍。这本书深入浅出地介绍了Erlang在分布式系统、并发处理以及高可用性设计中的应用,同时结合 OTP 提供了强大的工具和库...

    erlang 25.1 放入/root/.kerl/archives,直接./kerl build 25.1

    在Erlang的版本管理中,`kerl`是一个方便的工具,用于构建、安装和管理Erlang/OTP(Open Telecom Platform)的源代码版本。标签"erlang"表明讨论的核心是Erlang语言本身。文件名"otp_src_25.1"代表了OTP的源代码包,...

Global site tag (gtag.js) - Google Analytics