我想构建一个软件,该软件可以每隔一段时间自动运行一次,以对朱莉娅磁盘中的大量文件进行排序。
我尝试使用下面的代码来完成此任务,但是却耗尽了我的资源。
while true
// if it's 6 O'clock in the morning, runs function for batch processing
end
如何限制资源使用量?
答案 0 :(得分:3)
您可以使用Timer
事件而不是使用循环。您需要做的就是定义一个回调函数,该函数接受一个Timer
参数并完成所需的工作。
julia> begin
myfun(timer) = println("Sort Files")
t = Timer(myfun, 2, interval = 0.2) # after 2 seconds the task will run for each 0.2 seconds interval
wait(t) # the timer events will trigger forever if you want to stop the events you should call close(t) somewhere in the future
end
您可以根据情况使用close(timer)
停止函数中的计时器,也可以稍后在其他可以访问close(t)
的地方调用t
。
使用Timer
,您仍然可以继续将julia实例用于其他目的。