erlang面试经(1)

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

一、进程

  1. erlang的进程是并发独立执行的,有各自的堆栈空间,如果两个进程要通信,只能以发送消息的方式,所以进程的堆栈空间中就有一块区域作为erlang进程通信的消息邮箱。
  2. 进程是一些独立的小型虚拟机,可以执行erlang函数
  3. spawn(fun)或spawn(M,F,A)创建进程,apply(M,F,A)是过程调用
  4. erlang的调度相关(操作系统原理):一个处理器跑一个线程;
  5. 1个线程运行一个调度器;
  6. 处理器和调度器绑定提升系统速度;
  7. 调度器获得时间片,运行队列中的erlang进程;
  8. 当前进程如果阻塞,调度器会运行其他进程
  9. 比如调度器队列中,有两个进程AB,A进程跑一半阻塞了,切换到进程B,进程B跑着阻塞了,切换进程A,就这样一直切换来切换去,但是人为感知像两个进程同时跑起来一样,这就是并发
  10. 具体原理参考erlang调度原理

二、ets并发

ets:new(person, [set, public
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值