erlang编程的那些事儿

本文介绍了Erlang编程中的几个实用技巧,包括mnesia表与ets表的区别、gen_server的handle_call正确使用方法以及如何在不重启Erlang虚拟机的情况下加载新代码,提升调试效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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,加快调试效率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值