宮木です。
パッチを当ててみました。良い感じで動くようになりました。

Masaki Fukushima <fukusima / goto.info.waseda.ac.jp> wrote:

>|福嶋です。
-<cut>-
>|要は
>|
>| 1. Ruby側でのI/O処理の遅延を避ける
>| 2. Gtk 側でのI/O処理の遅延を避ける  (I/Oの遅延 == イベント処理の遅延)
>| 3. CPUの無駄なbusyを避ける
>|
>|の3つを同時に満たすことができるかということ問題でしょうか。
>|
>|現状のruby-gtkでは2と3が優先されていたので、socketで問題が起こり
>|ました。

以前作ったファイルのデータ検索と検索結果のCListへの表示を
スレッド起動してバックグラウンド処理するプログラムを試しに
走らせてみましたが、検索中にWidgetの反応が悪くなるような感
じはありませんでした。

>|私のパッチはこれを1と3を優先するようにするものです。その代わりGtk
>|側での I/O 処理 (==イベント処理) が遅れます。

私の作ったプログラムの範囲では福嶋さんのパッチを入れた方が
バランス良く動いていると思います。

ありがとうございました。
--
E-mail miyaki / wni.co.jp 宮木 昌広