关于使用 OTP 应用程序中指定的 gen_servers 的教程比比皆是。但是,我一直无法找到动态生成未注册(未命名)服务器的好例子。有人可以指出一个好的、简单的例子吗?例如,ejabberd 则不然,因为它有很多地方让我试图理解的核心思想感到困惑。
谢谢。
最佳答案
最简单的例子是:
省略 gen_server:start 中的第一个参数 {local,name}:
即假设您的模块名为 mod:
start(ArgX) ->
gen_server:start(mod, [ArgX], []).
然后你就可以:
> {ok, Pid} = gen_server:start(mod, [66], []).
并且 gen_server 已启动并正在运行。
每次调用此函数都会生成一个新的未命名 gen_server 进程。
请注意,此示例使用 start(而不是 start_link)进行独立使用(在主管上下文之外)。
关于erlang - 使用未注册、动态创建的 gen_server 的示例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2255184/