> Erlang中文手册 > start_timer/3 开启一个定时器

erlang:start_timer/3

开启一个定时器

用法:

start_timer(Time, Dest, Msg) -> TimerRef

开启一个 Time 毫秒后将向 Dest 发送消息 {timeout, TimerRef, Msg} 的定时器

如果 Dest 是一个进程,那么它必须是一个本地进程,不管是死的还是活的进程。

在当前实现里,参数 Time 的值不能大于4294967295。

如果 Dest 是一个原子,它应该是被注册进程的名称。在投送时消息的时候会查找引用该名称的相关进程。如果名字并不跟任何进程关联,不会发生任何错误。

如果 Dest 是一个进程,那么当跟 Pid 关联的进程不存在或进程退出时,该定时器将会自动取消。这个功能是在 ERTS 5.4.11 版本引入进来。当 Dest 是一个原子时,定时器不会自动取消。

跟定时器相关的一些函数:erlang:send_after/3,erlang:cancel_timer/1,erlang:read_timer/1。

如果参数不满足上面指定的要求,那么将返回 bagarg。

erlang:start_timer(5000, self(), test).