所以這就是我正在做的 - 我有一個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%),所以它非常浪費。我怎樣才能做到類似這樣的事情:每隔一段時間更新一次事件,而不浪費大量週期?
所有幫助表示感謝,並提前致謝!