erlang编程的那些事儿

1、mnesia表与ets表记录的差别

      mnesia表记录查询后会带有表名,ets表查出的记录是不带表名的。

2、gen_server的handle_call使用

      handle_call是同步调用,必须有返回值,在handle_call中执行的任务不能占有太多的时间,否则客户端因无法及时得到返回值会报异常,因过测试handle_call执行任务时间不能大于5s。如果要执行大任务,采用handle_cast来完成。

3、代码调试技巧

      当erlang虚拟机启动后,如果在虚拟机上运行的代码模块有所变动时,由于虚拟机有自己的缓存机制,里面仍然存放的是旧的代码,比较原始的方法是关闭虚拟机,重新执行,为了不关闭虚拟机,仍让虚拟机识别到最新的代码,通过code:load_file(Module_name)来实现,该函数执行会把新代码与旧的putmerge,加快调试效率。

erlang编程的那些事儿

上一篇:如何使用指向类的成员函数的指针(详解!)


下一篇:【protocol buffers】java解析protoBuf custom option自定义扩展文件具体方法