From: Kouhei S. <ko...@co...> - 2006-05-24 03:41:40
|
須藤です. 06/05/24 に Masao Mutoh<mu...@hi...> さんは書きました: > むむむ。パッチ試してみたのですが、私の環境だと > > [:before, 100] > [:after, 100] > > になっちゃいます...。なんでだろう。 > > $ ruby -v > ruby 1.9.0 (2006-05-23) [i686-linux] > --enable-thread版、Sjoredパッチ付きのRuby/GLib2使用。 CVS版のrubyを使ったら私もそうなりました. が,以下のスクリプトならパッチの効果がわかりました. --- require "gtk2" Gtk.init class A; end def idle_start i = 100 as = [] Gtk.idle_add do as << A.new i -= 1 if i.zero? Gtk.main_quit false else true end end end def idle_test idle_start Gtk.main end 10.times do |i| idle_test p [:before, ObjectSpace.each_object(A) {}] GC.start p [:after, ObjectSpace.each_object(A) {}] end --- |