超碰97人人做人人爱2020,狠狠躁天天躁,久久精品人人槡人妻人人玩,超碰97人人做人人爱2020

  • <center id="frjpm"></center>

  • <big id="frjpm"><nobr id="frjpm"></nobr></big>
  • <object id="frjpm"></object>
  • 极速下载站 —— 提供优质软件下载服务,感受全新的极速下载体验!

    最近更新 | 软件专题 | 软件分类 | 软件排行

    您的位置:极速下载站资讯首页软件教程软件资讯 → Erlang 分布式编程介绍

    Erlang 分布式编程介绍

    时间:2019-07-29 19:07:48  作者:Dorise  浏览量:0

    大家好!近期小编看到关于一些编程的书,其中看到书中介绍了 Erlang ,那么什么Erlang是什么呢?Erlang([\'ə:læŋ])是一种通用的面向并发的编程语言,它由瑞典电信设备制造商爱立信所辖的CS-Lab开发,目的是创造一种可以应对大规模并发活动的编程语言和运行环境。Erlang问世于1987年,经过十年的发展,于1998年发布开源版本。Erlang是运行于虚拟机的解释性语言,但是现在也包含有乌普萨拉大学高性能Erlang计划(HiPE)开发的本地代码编译器,自R11B-4版本开始,Erlang也开始支持脚本式解释器。在编程范型上,Erlang属于多重范型编程语言,涵盖函数式、并发式及分布式。顺序执行的Erlang是一个及早求值,单次赋值和动态类型的函数式编程语言。

    Erlang 并发编程是在同一 Erlang 虚拟机上创立多个进程来完成的。而Erlang 的分布式编程能够经过在不同主机上的Erlang 虚拟机(能够运转在同一主机中或能够相互经过网络主机上)完成,其间运转Erlang 虚拟机的主机也称作Erlang 的节点。在Erlang 中,能够完成在一个Erlang 虚拟机上长途在另一个Erlang 虚拟机上创立新的作业的进程,然后运用其音讯传递机制,即将核算的数据发送到另一虚拟机上的作业进程,在另一虚拟机中核算后,再运用音讯传递机制将核算结果发送回来;也能够完成在一个Erlang虚拟机上以长途调用的方式在长途虚拟机上进行数据处理,并直接返回处理结果。
    Erlang语言中与分布式编程有关的几个重要函数语法如下:
    1.{pname,nodename}!Message
    完成不同Erlang节点间的音讯发送,其间pname是长途节点进程的注册名,nodename是长途节点名。
    2.spawn(nodename,modulename,fun,[arg1,arg2..])
    完成在长途节点上发动一个进程,与spawn/3相比仅仅多了个节点名……
    3.rpc:call(nodename,modulename,fun,[arg1,arg2..])
    完成长途调用的函数,它是Erlang标准库中的模块rpc中的函数,其参数与2中相同。
    4.node()
    返回本地节点称号
    Erlang节点的发动方法:
    1.在同一主机上发动多个Erlang节点指令行格局如下:
    erl -sname nodename
    运用短称号的方式发动一个称号为nodename的节点,其节点称号为发动后Erlang指令提示符所示,比如Erlang指令提示符为:
    (ndb@USER-20170714FN)2>
    则其节点称号为:ndb@USER-20170714FN。
    2.在能够相互通信的主机上别离发动Erlang节点指令行格局如下:
    erl -name nodename -setcookie abc
    与1大致相同,区别是运用参数设置了节点的cookie,假如要完成节点间的通信,就需要多个节点的cookie的值完全相同。而1中在同一主机中,会主动设置为相同的cookie,所以没有进行显式的设置。

    以下举一简略实例:

    图:

    编程介绍图1

    图:

    编程介绍图2

    图:


    编程介绍图3

    假如在网络中不同主机上建立Erlang节点,则需要DNS支持,而且各节点运用-name参数和相同的cookie,一起防火墙应开启TCP和UDP的4396端口。这儿仅在虚拟机和物理机的局域网中作相关测试如下图:

    图:

    编程介绍图4

    因为没有DNS支持,所以在发动节点时运用节点名@IP的方式,如“abc@192.168.1.213”,上面的窗口是Win7下发动的Erlang节点,而下面的窗口是虚拟机中Fedora26中的Erlang节点,其间句子1在Win7中的Erlang节点上长途发动了进程,以运转remotes/0函数,在cde节点上经过i()指令能够查看到正在运转的进程。

    相关资讯

  • <center id="frjpm"></center>

  • <big id="frjpm"><nobr id="frjpm"></nobr></big>
  • <object id="frjpm"></object>
  • 超碰97人人做人人爱2020,狠狠躁天天躁,久久精品人人槡人妻人人玩,超碰97人人做人人爱2020

    品牌简介

    {转码主词}