博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
erlang学习笔记3 gen_event
阅读量:6820 次
发布时间:2019-06-26

本文共 1054 字,大约阅读时间需要 3 分钟。

hot3.png

1 使用gen_event模块之前, 第一步就是用gen_event:start_link方法生成一个event manager进程。切记,只有这个进程才可以绑定handler。

2 真正的event处理器是需要behaviour(gen_event)的模块, behaviour的时候需要生成的回调函数:

init/1

handle_event/2

handle_call/3

code_change

terminate

3 handle_event 是异步处理event的函数

4 handle_call 是同步处理函数, 一定会返回某个值

5 一个event manager进程可以绑定多个event handler, 同一个消息会同时发送给多个handler进行处理。

6 process_info(Pid)可以查看一个进程的状态:

1> process_info(self()).[{current_function,{erl_eval,do_apply,6}}, {initial_call,{erlang,apply,2}}, {status,running}, {message_queue_len,0}, {messages,[]}, {links,[<0.27.0>]}, {dictionary,[]}, {trap_exit,false}, {error_handler,error_handler}, {priority,normal}, {group_leader,<0.26.0>}, {total_heap_size,609}, {heap_size,233}, {stack_size,24}, {reductions,522}, {garbage_collection,[{min_bin_vheap_size,46422},                      {min_heap_size,233},                      {fullsweep_after,65535},                      {minor_gcs,7}]}, {suspending,[]}]
7 pid(0,33,0). 函数可以生成一个真正的PID

------------------------------

周末愉快,推荐听一首歌杨乃文的《祝我幸福》

转载于:https://my.oschina.net/costaxu/blog/297298

你可能感兴趣的文章