我在考虑如何实现一个过程,该过程给出了自启动以来发生的离散时间间隔的数量。 我在这里失去了准确性吗?一段时间后以及在滥用客户端之后,我如何实现这一目标而不会失去准确性。我对在Erlang中如何做到这一点感到很难过。
当然我不想使用系统调用,例如now()。
-module(clock).
-compile([export_all]).
start(Time) ->
register(clock, spawn(fun() -> tick(Time, 0) end)).
stop() -> clock ! stop.
tick(Time, Count) ->
receive
nticks ->
io:format("~p ticks have passed since start~n", [Count])
after 0 -> true
end,
receive
stop ->
void
after Time ->
tick(Time, Count + 1)
end.