gpt4 book ai didi

erlang - 当 gen_server 方法被两个客户端同时调用时会发生什么?

转载 作者:行者123 更新时间:2023-12-04 16:29:41 25 4
gpt4 key购买 nike

我有一个 gen_server 模块,它在客户端进程发送数据时将数据记录到文件中。当两个客户端进程同时向该模块发送数据时会发生什么?文件操作会不会相互冲突? erlang documentation这里令人沮丧地不清楚。

最佳答案

每个 Erlang 进程都维护一个消息队列。该过程将获取一条消息并一一处理这些消息。

在您的示例中,如果两个客户端调用 gen_server同时,这些调用会变成gen_server的队列中的一条消息过程,以及 gen_server将一一处理这些消息。所以不必担心冲突。

但是如果一个进程必须处理来自其他进程的太多消息,则需要考虑进程的容量并优化设计,否则它将成为瓶颈。

关于erlang - 当 gen_server 方法被两个客户端同时调用时会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10745669/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com