Loops 如何创建一个间隔轮询的进程?
我正在尝试创建一个进程,每隔几秒/毫秒检查一个目录并处理其中的文件,下面的代码在Erlang中可以接受吗Loops 如何创建一个间隔轮询的进程?,loops,recursion,erlang,repeat,Loops,Recursion,Erlang,Repeat,我正在尝试创建一个进程,每隔几秒/毫秒检查一个目录并处理其中的文件,下面的代码在Erlang中可以接受吗 init(Dir) -> loop(Dir). loop(Dir) -> check_dir(Dir), spawn(fun() -> do_something(File) end), timer:sleep(5). loop(Dir). 你可以用很多方法来做到这一点。一个好的第一个尝试是使用。您设置了一个间隔,函数将在每个间隔应用
init(Dir) -> loop(Dir).
loop(Dir) ->
check_dir(Dir),
spawn(fun() -> do_something(File) end),
timer:sleep(5).
loop(Dir).
你可以用很多方法来做到这一点。一个好的第一个尝试是使用。您设置了一个间隔,函数将在每个间隔应用(也称为调用)您的函数
apply_interval(10, cool_module_name, check_dir_and_notify, [File]).
上面的函数调用将每隔10毫秒调用一次check\u dir\u和notify。除非您取消它,否则它将永远持续。您可以通过多种方式执行此操作。一个好的第一个尝试是使用。您设置了一个间隔,函数将在每个间隔应用(也称为调用)您的函数
apply_interval(10, cool_module_name, check_dir_and_notify, [File]).
上面的函数调用将每隔10毫秒调用一次
check\u dir\u和\u notify
。除非您取消它,否则它将永远持续。更为惯用+1更加地道+1