Erlang gen_server:start_link/3 和gen_server:start_link/4

你说的曾经没有我的故事 提交于 2020-03-28 06:52:53

             两个方法都可以用来启动一个gen_server服务器进程,具体的参数如下:

              gen_server:start_link(Module,Args,Option);

              gen_server:start_link(ServerName,Module,Args,Option);

 

              第二个方法只比第一个多了个ServerName,在gen_server的源码中区别如下:


           再具体看gen的源码:

         可以看出如果有ServerName参数就会先查找一遍是否有同名的进程存在,有就会产生{error,{already_started,Pid}} 的提示。

         所在在开发并发的gen_server程序的时候要注意调用哪个方法。


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!