Erlang接收消息 - 它是如何在内部完成的?

时间:2013-05-24 02:39:46

标签: erlang

如何在erlang运行时内部实现接收消息?

当进程正在等待消息时,执行将在接收上挂起。 接收是通过阻塞IO还是异步IO?

完成的

如果是前者,则表示操作系统线程被阻塞,如果接收时有多个进程挂起,则由于线程上下文切换而导致性能下降,也可能达到操作系统的线程限制。

1 个答案:

答案 0 :(得分:5)

Erlang进程与操作系统线程或进程不对应。它们是作为Erlang VM的内部结构实现的,它们由Erlang VM调度。默认情况下由Erlang VM启动的OS线程数等于CPU数。当Erlang进程正在等待消息时,没有一个OS进程或线程被阻止。