宮木です。

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 宮木 昌広