所以这就是我正在做的 - 我有一个ruby脚本,每分钟打印一次信息。我还为陷阱设置了一个proc,以便当用户点击ctrl-c时,该进程将中止。该代码看起来是这样的:某种红宝石“中断”
switch = true
Signal.trap("SIGINT") do
switch = false
end
lastTime = Time.now
while switch do
if Time.now.min > lastTime.min then
puts "A minute has gone by!"
end
end
现在的代码本身是有效的,运行良好,但它做了很多无用功经常因为它可以检查switch
值。它尽可能多地使用处理器(至少是一个内核的100%),所以它非常浪费。我怎样才能做到类似这样的事情:每隔一段时间更新一次事件,而不浪费大量周期?
所有帮助表示感谢,并提前致谢!