high佬全 发表于 2015-3-3 02:13:56

使用gen_server:start_link创建监控

今天遇到了比较有趣的,我想大家一般创建监控都是使用supervisor:start_link/3但是这次我遇到了这样的方法 gen_server:start_link(Name,supervisor,{Name,Mod,Arg},[])
一开始我非常不解,所以研究了下。以下是我跟据书本和自身的理解。
   start_link函数是相当于spawn_link,都是创建一个进程,区别在于前者能在创建成功后
才返回pid,在多个进程创建时起保护作用!然而当调用上面gen_server:start_link,创建出的
会调用到superviors模块中的init并将{Name,Mod,Arg}作为参数转递,这种行为就相当于supervior:start/3。
不过上网查了一下,好像erlang中没有supervisor:init,我估大概是自己修改的。我主要想表达的是
这样写法需要很深入理解otp的行为深层代码才能如此奔放大胆跳过常规

youthy 发表于 2015-3-3 15:03:17

请问,这里发帖需要审核的?提了个问题,结果还在审核中

high佬全 发表于 2015-3-4 06:59:56

youthy 发表于 2015-3-3 15:03
请问,这里发帖需要审核的?提了个问题,结果还在审核中

不好意思,这么慢才复你,我都想能分享你的问题

high佬全 发表于 2015-3-4 07:02:59

youthy 发表于 2015-3-3 15:03
请问,这里发帖需要审核的?提了个问题,结果还在审核中

你平时有没有看哪个书的,有没有好的介绍

youthy 发表于 2015-3-9 14:31:05

high佬全 发表于 2015-3-4 07:02
你平时有没有看哪个书的,有没有好的介绍

所以。。我的那个帖子还是没有发出来啊。。
erlang的书感觉很少。
开始的时候就是erlang程序设计和erlang编程指南。后来看了些learn you some erlang。。那本书,现在再看erlang in anger。

high佬全 发表于 2015-3-10 00:30:31

youthy 发表于 2015-3-9 14:31
所以。。我的那个帖子还是没有发出来啊。。
erlang的书感觉很少。
开始的时候就是erlang程序设计和erlang ...

你都看了好多有关的书。。。。至于帖子的事你再发多次,我见其他人都能发帖。你看的书有没有介绍过.yrl(关于定时器的),我大概看过下别人的代码,好像大概是从.yrl文件中读取出 时间,模块,函数,元项等组成列表,然后从列表中一个一个地执行M : F(X),但我想知道的是有没有特定的格式规定.yrl文件,全整个定时模块大概怎样的,我有时间就百度一下,不过我都想看看你有没有相关的经验分享下

high佬全 发表于 2015-3-10 00:40:23

youthy 发表于 2015-3-9 14:31
所以。。我的那个帖子还是没有发出来啊。。
erlang的书感觉很少。
开始的时候就是erlang程序设计和erlang ...

对了,你的问题是什么?我都想知。你暂时发不了帖的话,如果你不介意的话回复我时粘帖上来,我帮你把问题发帖,等百度想关问题时能被查到。一时半刻都不知能搞清不能发帖是怎么回事。如果你想自己发帖只发个问题就好了

high佬全 发表于 2015-3-10 00:40:23

youthy 发表于 2015-3-9 14:31
所以。。我的那个帖子还是没有发出来啊。。
erlang的书感觉很少。
开始的时候就是erlang程序设计和erlang ...

对了,你的问题是什么?我都想知。你暂时发不了帖的话,如果你不介意的话回复我时粘帖上来,我帮你把问题发帖,等百度想关问题时能被查到。一时半刻都不知能搞清不能发帖是怎么回事。如果你想自己发帖只发个问题就好了
页: [1]
查看完整版本: 使用gen_server:start_link创建监控