Timerクラス

Rubeusのライブラリの中にTimerというのがあります。
javaの javax.swing.Timer になると思います。

使い方をメモします。

require 'rubeus'
Rubeus::Swing.irb

t = Timer.new(500) do # interval [ms]
  puts Time.now.to_s
end
puts "---start---"
t.start
sleep(10)
t.stop
puts "---stop---"

実行すると、500ミリ秒ごとに現在の時刻が表示さます。
t.startでブロック内の記述がスレッドで呼び出され、t.stopで終了します。

---start---
2012-09-29 13:08:32 +0900
2012-09-29 13:08:32 +0900
2012-09-29 13:08:33 +0900
2012-09-29 13:08:33 +0900
2012-09-29 13:08:34 +0900
2012-09-29 13:08:34 +0900
2012-09-29 13:08:35 +0900
2012-09-29 13:08:35 +0900
2012-09-29 13:08:36 +0900
2012-09-29 13:08:36 +0900
2012-09-29 13:08:37 +0900
2012-09-29 13:08:37 +0900
2012-09-29 13:08:38 +0900
2012-09-29 13:08:38 +0900
2012-09-29 13:08:39 +0900
2012-09-29 13:08:39 +0900
2012-09-29 13:08:40 +0900
2012-09-29 13:08:40 +0900
2012-09-29 13:08:41 +0900
---stop---