首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Erlang 学习札记 (一) OTP

2012-09-16 
Erlang 学习笔记 (一) OTP?什么是 gen_server ?gen_server 是OTP的一项行为机制,是实现“客户/服务”关系的

Erlang 学习笔记 (一) OTP

?

什么是 gen_server ?gen_server 是OTP的一项行为机制,是实现“客户/服务”关系的程序模块。它拥有许多东西,给你自由使用,这点以后再讲。以后,讲到监测器和运行时错误报告时,也会同样用到这个模块。gen_server 的行为动作包括:● init/1 - 服务器的初始化;● handle_call/3 - 处理对服务器的同步调用。调用服务器的客户端被阻塞,直到本函数返回。● handle_cast/2 - 处理对服务器的异步调用。调用的执行过程中,客户端不被阻塞。● handle_info/2 - 是起着“收容”作用的函数。服务器收到的信息,如果不是同步调用或异步调用,就交由这个函数处理。例如,如果你的服务器与其他进程相连接,那么,要求退出进程的信息,就是这个函数处理。● terminate/2 - 关闭服务器时,调用这个函数,做些善后处理。● code_change/3 - 服务器运行中更新时,调用这个函数。在后面的文章中,会涉及这个函数的大量细节,但你应该至少会按照基本要求使用它。

init([_Args]) -> {ok,dict:new()}.handle_call(_Request, _From, State) ->? ?Reply = ok,? ?{reply, Reply, State}.
handle_cast(_Msg, State) -> {noreply, State}.handle_info(_Info, State) -> {noreply, State}.terminate(_Reason, _State) -> ok.code_change(_OldVsn, State, _Extra) -> {ok, State}.

热点排行