ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
```erlang 1.Timer:tc(Module,Function,Arguments)->{Time,Value}  参数使用中括号括起来 测量某函数运行的确切时间。 Example:timer:tc(lists, seq, [1,100000]). 2.timer:apply_after(Time, Module, Fun, Arg). -> {ok,Tref} | {error, Reason} 在Time毫秒后执行特定函数 Time 为毫秒数 3.timer:apply_interval(Time, Module, Fun, Arg). -> {ok,Tref} | {error, Reason} 每隔Time时间执行的特定函数 4.{_, {H1, M1, S1}} = erlang:localtime(), timer:hms( H1, M1, S1 ). 5.T1 = erlang:now(), timer:now_diff( erlang:now(), T1 ).  (精确到微秒级) 6.timer:sleep( 3000 ) 7.send_after(Time, Message) == send_after(Time, self(), Message)   send_after(Time, Pid, Message)   發送Message到對應的Pid 8.kill_after(Time) -> {ok, TRef} | {error, Reason2}   kill_after(Time, Pid) -> {ok, TRef} | {error, Reason2}   exit_after(Time, Reason1) -> {ok, TRef} | {error, Reason2}   exit_after(Time, Pid, Reason1) -> {ok, TRef} | {error, Reason2} 9.send_interval(Time, Message) -> {ok, TRef} | {error, Reason}   send_interval(Time, Pid, Message) -> {ok, TRef} | {error, Reason}   發送Message到對應的Pid,並且獲得返回的結果 10.seconds(Seconds), minutes(Minutes), hours(Hours), hms(Hours, Minutes, Seconds)    獲得對應的毫秒數 11.erlang:cancel_timer(TimeRef) ``` 涉及模块 timer.erl 实现 1.启动一个进程来维护所有调用该模块的倒计时 2.内部实现使用gen_server的timeout来实现 缺陷 当该进程被太多调用时,进程卡顿,导致倒计时时间不准确 解决方案 倒计时分散到各自的进程,不要过多依赖timer倒计时