匿名的gen_server实例?

塞雷娅·波哥鲁波夫

根据实际文档,gen_server:start_link具有以下签名:

ServerName = {本地,名称} | {global,GlobalName} | {via,Module,ViaName}
名称= atom()

..但是,如果我不想为某个实例分配不同的名称(都不是localglobalgen_server,而是想记住它PID并以这种匿名方式引用它,该怎么办?我能够实现这种行为吗?

PS为什么我需要这个?有一个参数,我们称之为N,它定义了需要多少个实例gen_server当前的实现方式类似于instance_1.. instance_N,可以即时生成那些原子,但是实际上,PID在这里就足够了。这就是为什么我想摆脱原子并更喜欢PID。

Wojtek Surowka

服务器名参数用于注册,以便服务器可以通过名称来引用。但是此参数是可选的,存在start_link不带此参数的版本:

start_link(Module, Args, Options) -> Result
start_link(ServerName, Module, Args, Options) -> Result

由具有三个参数的版本启动的服务器未注册。当一个人倾向于使用其他方式而不是原子来引用服务器时,例如当使用多个相同类型的服务器时,这很有用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ERLang OTP gen_server:call() fails

来自分类Dev

ERLang OTP gen_server:call()失败

来自分类Dev

Erlang:无法生成gen_server:call()

来自分类Dev

gen_server中引发的Redis异常

来自分类Dev

gen_server的no_proc异常

来自分类Dev

通过Jinterface调用gen_server?

来自分类Dev

如何用消息回复gen_server?

来自分类Dev

如何多次启动gen_server模块

来自分类Dev

从gen_server演员返回状态

来自分类Dev

gen_server:cast与gen_server:abcast有什么区别

来自分类Dev

我的gen_server实现有什么问题?

来自分类Dev

gen_server套接字广播使用什么OTP模式?

来自分类Dev

Erlang init_per_group终止gen_server

来自分类Dev

如何使用eunit测试gen_server内部状态

来自分类Dev

在Erlang / OTP中gen_server调用的开销是多少?

来自分类Dev

如何将参数传递给gen_server函数?

来自分类Dev

OTP gen_server是否拦截收到的消息

来自分类Dev

如何获得“ gen_server”的本地名称?

来自分类Dev

如何使用eunit测试gen_server内部状态

来自分类Dev

Erlang,尝试使gen_server:调用有很多响应

来自分类Dev

Erlang init_per_group终止gen_server

来自分类Dev

Erlang R19中的gen_server实现

来自分类Dev

gen_server:call-如何发送消息

来自分类Dev

在Erlang中,gen_server:start()和gen_server:start_link()有什么区别?

来自分类Dev

在Erlang中,gen_server:start()和gen_server:start_link()有什么区别?

来自分类Dev

我不应该直接调用gen_server:stop()吗?

来自分类Dev

为什么我的gen_server实现会给出超时?

来自分类Dev

gen_server中的错误还会终止调用过程吗?

来自分类Dev

“ gen_server”在发送时自动避开但不挂起是什么意思?

Related 相关文章

热门标签

归档