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 - 服务器运行中更新时,调用这个函数。在后面的文章中,会涉及这个函数的大量细节,但你应该至少会按照基本要求使用它。