erlang中erpc和rpc的区别
时间: 2023-02-08 09:24:19 浏览: 90
erpc是Erlang自带的一种远程过程调用(Remote Procedure Call, RPC)的实现方式,用于在Erlang节点之间进行通信。
RPC是一种网络编程技术,可以让一个进程调用另一个进程上的函数,就像在本地调用一样。erpc是Erlang语言实现的一种RPC方式。
在Erlang中,erpc和rpc的区别在于erpc是内置在语言中的RPC实现方式,而rpc是一个库函数,可以用来调用其他语言实现的RPC服务。
相关问题
erlang的dict和进程字典区别
Erlang的dict和进程字典都是用来存储键值对的数据结构,但是它们有一些区别。dict是一个不可扩展的静态数据结构,创建后不能改变大小,不能动态添加或删除键值对;而进程字典是一个可扩展的动态数据结构,可以在进程运行时动态添加或删除键值对。此外,由于进程字典是存储在进程内的,因此只能由该进程访问和修改;而dict则是一个全局数据结构,任何进程都可以访问和修改。
erlang+堆和栈
Erlang是一种函数式编程语言,它在堆上创建对象。在Erlang中,所有的数据都是通过消息传递的方式进行通信,而不是共享内存。因此,每个进程都有自己的堆空间,用于存储它所需要的数据。
堆是Erlang进程的主要存储区域,用于存储动态分配的数据。当进程需要创建新的对象或者数据结构时,它会在堆上分配内存空间。堆的大小是可调整的,可以根据需要进行动态扩展或收缩。
相比之下,栈是用于存储局部变量和函数调用信息的区域。在Erlang中,栈的大小是固定的,并且由编译器在编译时确定。栈上的数据是临时的,当函数调用结束后,栈上的数据会被自动释放。
总结起来,Erlang中的对象和数据结构是在堆上创建的,而栈主要用于存储函数调用信息和局部变量。