Alors voici ce que je fais - j'ai un script Ruby qui imprime des informations à chaque minute. J'ai également mis en place un proc pour un piège de sorte que lorsque l'utilisateur clique sur ctrl-c, le processus s'interrompt. Le code ressemble à ceci:Une sorte de Ruby "Interruption"
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
Maintenant, le code lui-même est valide et fonctionne bien, mais il fait beaucoup de travail inutile de vérifier la valeur de switch
aussi souvent que possible. Il consomme autant de ressources processeur que possible (au moins 100% d'un cœur), ce qui représente un gaspillage considérable. Comment puis-je faire quelque chose de similaire, où un événement est mis à jour de temps en temps, sans gaspiller des tonnes de cycles?
Toute aide est appréciée et merci d'avance!