我正在寻找一个在ruby中演示计时器的在线示例,并且遇到了下面的代码.它按预期工作,但这个简单的程序使用30Mo的内存(如Windows任务管理器中所示)和太多的CPU是否有意义?
非常感谢
def time_block
start_time = Time.now
Thread.new { yield }
Time.now - start_time
end
def repeat_every(seconds)
while true do
time_spent = time_block { yield } # To handle -ve sleep interaval
sleep(seconds - time_spent) if time_spent < seconds
end
end
repeat_every(5) {
}
Run Code Online (Sandbox Code Playgroud)