【Erlang进阶学习】4、进程与消息传递

在Erlang系统中,进程都是轻量级的,意味着创建进程只需要花费微不足道的时间和极少的内存。

1、进程间不共享内存,而是通过消息传递来通信。

2、消息从发送进程的栈上复制到接收进程的堆上。

3、由于多个进程并发地在独立的内存空间执行,这些内存空间可以独立地进行垃圾回收(GC机制),这给Erlang程序带来了良好的可预测的软实时属性。(高负载下也能维持软实时属性。)

4、数百万个进程可以同时运行在一个VM(Erlang程序运行时虚拟机)上。(工作中项目限制为40万个进程)

5、当程序出现错误,进程将会崩溃,但由于内存不共享,错误是隔离的,不会影响其它不相关的进程继续运行。

进程通过 spawn(Mod, Func, Args) 函数创建,这是一个BIF函数。spawn函数调用后会返回一个进程标识符 Pid 。Pid是用来进行消息发送的唯一标识。在消息发送时,将Pid放入消息内,即可实现与其它进程反向通信。

相关推荐
xian_wwq6 分钟前
【学习笔记】Milvus 如何完成一次向量相似度检索,Milvus 索引到底应该怎么选?-15
笔记·学习·milvus
Hhuhkt13 分钟前
3D 云养宠小游戏
学习
Soneswy2 小时前
Linux系统篇--重定向与文件操作命令
linux
有毒的教程2 小时前
Linux底层存储路由配
linux·运维·网络
派大鑫wink2 小时前
纯前端实现软考中级·软件设计师备考学习网站
前端·学习
smartpi_ai3 小时前
51 单片机写好了,大模型语音怎么接?17T 全驱动的现成方案、双板串口分工的边界与画板前的三项硬件确认
单片机·嵌入式硬件·学习
Linux系统运维工程师_郭主任3 小时前
运维人还在被拒offer?现在能考的,只有 RHCE 10.0。
linux
自养Agent3 小时前
MCP Server Boundary Audit Report
linux·服务器·人工智能·windows·大模型·llm
辣知4 小时前
辣知·化智82 人类文明演化规律文化传承
学习
Coisinier4 小时前
docker命令管理镜像及容器
linux·运维·nginx·docker·容器·操作系统