Итак, вот что я делаю - у меня есть скрипт ruby, который печатает информацию каждую минуту.Я также настроил процедуру для ловушки, чтобы, когда пользователь нажимал 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% одного ядра), так что это довольно расточительно.Как я могу сделать что-то похожее на это, когда событие обновляется так часто, не тратя тонны циклов?
Вся помощь приветствуется и спасибо заранее!