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

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

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

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

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

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

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

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

相关推荐
平行云PVT1 小时前
数字孪生信创云渲染技术解析:从混合信创到全国产化架构
linux·unity·云原生·ue5·图形渲染·webgl·gpu算力
nap-joker1 小时前
【多模态解耦】DecAlign:用于解耦多模态表示学习的分层跨模态对齐
学习·多模态融合·最优传输·多模态表征学习·特征解耦·音频+图像+文本·原型引导
551只玄猫1 小时前
【数据库原理 实验报告1】创建和管理数据库
数据库·sql·学习·mysql·课程设计·实验报告·数据库原理
xdscode2 小时前
Linux云服务器安装openclaw,并对接飞书通道
linux·服务器·飞书·openclaw
IDZSY04302 小时前
AI社交平台进阶指南:如何用AI社交提升工作学习效率
人工智能·学习
happymaker06262 小时前
web前端学习日记——DAY05(定位、浮动、视频音频播放)
前端·学习·音视频
Percep_gan2 小时前
Linux中安装Redis,很详细
linux·运维·redis
xuhaoyu_cpp_java2 小时前
过滤器与监听器学习
java·经验分享·笔记·学习
2401_877274243 小时前
从匿名管道到 Master-Slave 进程池:Linux 进程间通信深度实践
linux·服务器·c++
炽烈小老头3 小时前
【 每天学习一点算法 2026/03/23】数组中的第K个最大元素
学习·算法·排序算法