如何在erlang运行时内部实现接收消息?
当进程正在等待消息时,执行将在接收上挂起。 接收是通过阻塞IO还是异步IO?
完成的如果是前者,则表示操作系统线程被阻塞,如果接收时有多个进程挂起,则由于线程上下文切换而导致性能下降,也可能达到操作系统的线程限制。
答案 0 :(得分:5)
Erlang进程与操作系统线程或进程不对应。它们是作为Erlang VM的内部结构实现的,它们由Erlang VM调度。默认情况下由Erlang VM启动的OS线程数等于CPU数。当Erlang进程正在等待消息时,没有一个OS进程或线程被阻止。