宮木です。 Masaki Fukushima <fukusima / goto.info.waseda.ac.jp> wrote: >|福嶋です。 >| >|Miyaki Masahiro <miyaki / wni.co.jp> wrote: >|> ruby-gtkを使っていてThreadの中でsocketのgetsやreadlineを >|> やると妙に時間が掛かるのですが、どうしてなんでしょうか。 >| >|ruby-gtk の中で、Ruby側のThreadのスケジューリングが100ms毎にしか >|呼ばれないようになっているからだと思います。 >| >|確か、gtk_idle_add()を使うと頻繁にスケジューリングが起こって、そ >|れ自体がCPUを消費してしまうので、代わりに gtk_timeout_add() を使 >|うようになったんだったと思います。 >| >|gtk_idle_add()を使うように戻して、その代わり、idle()の中で >|rb_thread_schedule() ではなく rb_thread_wait_for() を呼ぶようにし >|てみました。これで大体 O.K. だと思います。 ruby-extの方でも報告しましたが、良好に動作するように なりました。ありがとうございました。 -- E-mail miyaki / wni.co.jp 宮木 昌広