Wenn du es stabil haben willst, wäre evtl. sogar ein
Code:
def long_running_process
  thread = Thread.new do
      loop do
        sleep(5.0)
        Graphics.update
      end
  end
  yield
ensure
  thread.kill
end
zu überlegen. Macht dasselbe, bricht den Thread aber auch beim Wurf einer Exception korrekt ab. In der Praxis ist das aber wahrscheinlich egal, da 99,9% aller Exceptions eh zum kompletten Absturz des Spiels führen.