実行に時間のかかる処理を GUI をブロックせずに行いたい場合、通常はタイマかスレッドを使ってバックグラウンドで処理を実行します。wxRuby でも Wx::Timer.every を使って擬似的な並列処理をさせることが可能ですが、この場合プログラマがタイマイベントにあわせて処理を分割しなければならず、面倒です。 そこでスレッドを使うことになるわけですが、 require 'rubygems' require 'wx' Wx::App.run do frame = Wx::Frame.new(nil, :title => "Thread.new #{RUBY_VERSION}") frame.set_sizer(Wx::VBoxSizer.new) frame.get_sizer.add_item(text = Wx::TextCtrl.new(frame)) Thread.new(0)