我创建了一个主管,它产生了一个gen_server我称为timer_server. 这个timer_server 的任务之一是管理注册和调用timer:send_interval以在某个时间间隔向 pid 发送消息。
但是,在gen_server我调用的 init 中,timer:send_interval我被锁定了。文档说计时器:函数立即返回,所以这很麻烦。
当我重命名我gen_server的record_timer_server这个问题时,这个问题就解决了。我的问题是两个方面:
- 如果我的应用程序启动
timer_server时已经有一个注册进程,为什么我可以创建一个注册进程?timer:start() - 一旦启动,为什么这个函数不会导致错误匹配找到名称,如果它正在调用我
timer_server使用该send_interval函数?
我认为代码不是必需的,但如果需要,我可以更新以添加一些代码。