Estaba pensando en cómo implementar un proceso que proporcione el número de intervalos discretos en el tiempo que se han producido desde que comenzó. ¿Estoy perdiendo precisión aquí? ¿Cómo implemento esto sin pérdida de precisión después de un tiempo y después de un gran abuso de clientes? Estoy algo perplejo sobre cómo hacer esto en Erlang.Reloj preciso en Erlang
Naturalmente, no quiero utilizar una llamada al sistema como 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.
Sí, supongo que es la manera más fácil .. Todavía puedo usar el concepto de "tick resolution" con el tiempo de espera "after ..", para reducir el número de llamadas recursivas que se realizan. – buddhabrot