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

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

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

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

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

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

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

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

相关推荐
Aczone284 分钟前
嵌入式 数据结构学习 (六) 树、哈希表与内核链表
数据结构·学习·算法
设计师小聂!8 分钟前
linux常用命令(一)
linux·运维·服务器
hnlucky14 分钟前
《Nginx + 双Tomcat实战:域名解析、静态服务与反向代理、负载均衡全指南》
java·linux·服务器·前端·nginx·tomcat·web
想成为大佬的每一天21 分钟前
Linux驱动学习day22(interrupt子系统)
学习
Chef_Chen21 分钟前
从0开始学习R语言--Day43--Wald检验
学习
cui_win23 分钟前
【网络】Linux 内核优化实战 - net.ipv4.tcp_congestion_control
linux·网络·tcp/ip
真的想上岸啊25 分钟前
学习C++、QT---21(QT中QFile库的QFile读取文件、写入文件的讲解)
c++·qt·学习
之歆1 小时前
Python-正则表达式-信息提取-滑动窗口-数据分发-文件加载及分析器-浏览器分析-学习笔记
python·学习·正则表达式
rui锐rui1 小时前
大数据学习7:Azkaban调度器
学习
笑稀了的野生俊1 小时前
ImportError: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.32‘ not found
linux·人工智能·ubuntu·大模型·glibc·flash-attn