Erlang 消息循环

标签 erlang parallel-processing message-loop

erlang 中的消息循环如何工作,在处理消息时它们是否同步?

据我了解,循环将从“接收”消息开始,然后执行某些操作并进行循环的另一次迭代。

所以这必须是同步的?对吗?

如果多个客户端向同一个消息循环发送消息,那么所有这些消息都会排队并依次执行,或者?

要并行处理多个消息,您必须在不同的进程中生成多个消息循环,对吧?

还是我误解了这一切?

最佳答案

发送消息是异步的。处理消息是同步的 - 一次接收一条消息 - 因为每个进程都有自己的(且只有一个)邮箱。

关于Erlang 消息循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2943352/

相关文章:

multithreading - 如何终止具有单独消息循环的线程?

erlang - 在gen_server行为中,如何使用函数nodes()在节点之间实现广播新闻?

r - 在 R 中进行并行处理时是否应该使用每个核心?

java - Scala 并行集合在某些方面是否比 Java 中已有的并行集合更好?

c++ - 在 WM_CREATE 中创建子窗口,同一线程的相关性?

c - 在 Erlang 中运行 C 代码块

Erlang:什么时候执行 `inets:start()` ?

erlang - Erlang Gen 服务器之间的通信

parallel-processing - 查找可用于处理的最大核心数