Erlang无限循环

问题描述 投票:1回答:1

我正在尝试创建一个每隔几秒/毫秒检查一次目录并处理其中文件的进程,以下内容在Erlang中是否可以接受?

init(Dir) ->    loop(Dir).

loop(Dir) ->
    check_dir(Dir),
    spawn(fun() -> do_something(File) end),
    timer:sleep(5).
    loop(Dir).
loops recursion erlang repeat
1个回答
1
投票

您可以通过多种方式执行此操作。一个很好的第一个尝试是使用timer:apply_interval/4。设置时间间隔,该函数将在每个时间间隔apply(又称调用)。

timer:apply_interval/4

上面的函数调用将每10 ms调用一次apply_interval(10, cool_module_name, check_dir_and_notify, [File]). 。除非您取消它,否则它将一直持续下去。

© www.soinside.com 2019 - 2024. All rights reserved.