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

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

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

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

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

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

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

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

相关推荐
XGeFei6 小时前
【AI应用/Agent智能体搭建平台2】Dify——自部署
人工智能·笔记·学习
盐焗鹌鹑蛋6 小时前
【Linux】缓冲区
linux·运维·服务器
hsjiasb6 小时前
FreeRTOS学习(二十三)——消息缓冲区(Message Buffer)
stm32·单片机·嵌入式硬件·学习·freertos
我的xiaodoujiao8 小时前
快速学习Python基础知识详细图文教程17--类型注解和断点调试
开发语言·python·学习·测试工具
ltl8 小时前
向量库与图 RAG:HNSW、DiskANN 到 GraphRAG
linux
学代码的CJY9 小时前
Linux 库制作与原理:静态库、动态库、ELF 与动态链接完全指南
linux·运维·服务器
IT古董10 小时前
【MES学习笔记系列】MES 厂商与产品对比
笔记·学习
wangyue_msn_8610 小时前
Agent知识学习笔记——03 RAG
笔记·学习·ai编程
呱呱巨基10 小时前
Linux 查找命令
linux·笔记·学习·查找命令
basketball61611 小时前
软考中级网络工程师 第4章 无线通信网 备考总结
linux·服务器·网络·网络工程师·软考