下面的内容一部分来自于网上,一部分来自于自己的理解,都是初学erlang对经常遇到的知识点的总结
一、进程
- erlang的进程是并发独立执行的,有各自的堆栈空间,如果两个进程要通信,只能以发送消息的方式,所以进程的堆栈空间中就有一块区域作为erlang进程通信的消息邮箱。
- 进程是一些独立的小型虚拟机,可以执行erlang函数
- spawn(fun)或spawn(M,F,A)创建进程,apply(M,F,A)是过程调用
- erlang的调度相关(操作系统原理):一个处理器跑一个线程;
- 1个线程运行一个调度器;
- 处理器和调度器绑定提升系统速度;
- 调度器获得时间片,运行队列中的erlang进程;
- 当前进程如果阻塞,调度器会运行其他进程
- 比如调度器队列中,有两个进程AB,A进程跑一半阻塞了,切换到进程B,进程B跑着阻塞了,切换进程A,就这样一直切换来切换去,但是人为感知像两个进程同时跑起来一样,这就是并发
- 具体原理参考erlang调度原理
二、ets并发
ets:new(person, [set, public

本文详细介绍了Erlang的并发特性,包括进程的基本概念、ETS并发性能优化以及gen_server和supervisor的使用。讨论了进程通信、ETS并发读写、gen_server的实现以及进程字典,并给出了相关资源链接深入探讨spawn函数和事务处理。
&spm=1001.2101.3001.5002&articleId=85336382&d=1&t=3&u=c7d62409490d49e788956db42e2f0ff4)
1129

被折叠的 条评论
为什么被折叠?



