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

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

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

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

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

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

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

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

相关推荐
go_bai6 分钟前
Linux--进程池
linux·c++·经验分享·笔记·学习方法
Mr.Jessy6 分钟前
Web APIs 学习第四天:DOM事件进阶
开发语言·前端·javascript·学习·ecmascript
人工智能训练26 分钟前
在ubuntu系统中如何将docker安装在指定目录
linux·运维·服务器·人工智能·ubuntu·docker·ai编程
Lisonseekpan30 分钟前
Linux 常用命令详解与使用规则
linux·服务器·后端
ヾChen30 分钟前
头歌MySQL——复杂查询
数据库·物联网·学习·mysql·头歌
老虎062734 分钟前
黑马点评学习笔记07(缓存工具封装)
笔记·学习·缓存
Yurko1335 分钟前
【C语言】选择结构和循环结构的进阶
c语言·开发语言·学习
青木川崎37 分钟前
linux面试题
java·linux·运维
范纹杉想快点毕业1 小时前
12个月嵌入式进阶计划ZYNQ 系列芯片嵌入式与硬件系统知识学习全计划(基于国内视频资源)
c语言·arm开发·单片机·嵌入式硬件·学习·fpga开发·音视频
im_AMBER1 小时前
React 12
前端·javascript·笔记·学习·react.js·前端框架