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

古加·梅尔卡泽(Guga Melkadze)

有人可以解释gen_server:start()之间的区别gen_server:start_link()吗?

有人告诉我这是关于多线程的东西。

编辑:如果我的gen_server是从多个线程中调用的,它将一次执行它们吗?还是会在这些线程之间创建并发性?

史蒂夫·维诺斯基

这两个函数都将新gen_server实例作为调用进程gen_server:start_link/3,4gen_server子级启动,但是它们的区别在于,原子启动一个子级并将其链接到其父进程链接意味着,如果孩子死了,默认情况下,父母也将死去。主管是父进程,当其子进程异常退出(通常是重新启动它们)时,它们使用链接来执行特定的操作。

除了gen_server:start_link案例中涉及的链接之外,这些调用中没有涉及多进程方面。无论您使用gen_server:start还是gen_server:start_link启动gen_server新消息,新进程都只有一个消息队列,并且它一次只能接收和处理这些消息。没有什么gen_server:start_link可以导致新gen_server过程的行为或执行与开始时不同gen_server:start

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

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

来自分类Dev

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

来自分类Dev

ERLang OTP gen_server:call() fails

来自分类Dev

ERLang OTP gen_server:call()失败

来自分类Dev

Erlang:无法生成gen_server:call()

来自分类Dev

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

来自分类Dev

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

来自分类Dev

Erlang R19中的gen_server实现

来自分类Dev

我的gen_server实现有什么问题?

来自分类Dev

gen_server中引发的Redis异常

来自分类Dev

匿名的gen_server实例?

来自分类Dev

Erlang init_per_group终止gen_server

来自分类Dev

Erlang init_per_group终止gen_server

来自分类Dev

与gen_server:call()有关的Erlang可扩展性问题

来自分类Dev

如何停止在erlang中实现为gen_server的tcp_listener

来自分类Dev

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

来自分类Dev

Erlang:使用超级用户:start_child / 2在gen_server:init / 1内添加新的子代将挂断应用程序

来自分类Dev

gen_server的no_proc异常

来自分类Dev

通过Jinterface调用gen_server?

来自分类Dev

如何用消息回复gen_server?

来自分类Dev

如何多次启动gen_server模块

来自分类Dev

从gen_server演员返回状态

来自分类Dev

当handle_call返回noreply时,erlang otp gen_server断开连接

来自分类Dev

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

来自分类Dev

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

来自分类Dev

OTP gen_server是否拦截收到的消息

来自分类Dev

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

来自分类Dev

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

来自分类Dev

gen_server:call-如何发送消息

Related 相关文章

热门标签

归档