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

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

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

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

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

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

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

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

相关推荐
青梅橘子皮4 分钟前
Linux---权限
linux·运维·服务器
不灭锦鲤8 分钟前
网络安全学习第101天
学习
承渊政道11 分钟前
【动态规划算法】(背包问题经典模型与解题套路)
数据结构·c++·学习·算法·leetcode·动态规划·哈希算法
遗憾随她而去.42 分钟前
Java学习(一)
java·开发语言·学习
lzh200409191 小时前
深入学习Linux进程间通信:解析消息队列
linux·c++
苏宸啊1 小时前
进程替换库函数
linux
时光之源1 小时前
安装WSL2后在其中安装Ubuntu24.04.4再安装OpenClaw全流程傻瓜式教学:WSL2 + Ubuntu 24.04 + OpenClaw
linux·运维·ubuntu·openclaw·龙虾
sealaugh321 小时前
react native(学习笔记第三课) 英语打卡微应用(2)-从上传图片开始
笔记·学习·react native
大袁同学1 小时前
【进程信号】:溯源硬件起中断,掌舵内核控信号
linux·信号处理
能喵烧香1 小时前
跨越系统的开源尝试:KDE Windows版本全解析
linux·windows·开源