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}.

你可能感兴趣的:(erlang)