From: nobu.nakada@... Date: 2003-11-12T11:27:37+09:00 Subject: [ruby-dev:21905] Re: pthread trouble on tcltklib なかだです。 At Wed, 12 Nov 2003 11:05:28 +0900, Hidetoshi NAGAI wrote: > > この部分ですが、rb_thread_schedule()への再入だけではなく、別の > > pthread内でのrubyスレッドの切替え自体が危険じゃないでしょうか。 > > そう考えると、ロックじゃなくて最初にスレッドIDを保存しておいて、 > > 単純に現在のスレッドと一致しなかったら戻る、だけでもよさそうな > > 気がして来ました。 > > ruby thread の切り替え作業が同時に行われなければいいのではないかと > 思いましたが,甘かったでしょうか.(^_^; pthreadごとに固有のスタックを持っているとすると、生成されたのと 別スレッド上でのrb_thread_restore_context()や、Init_stack()した 以外のスレッド上でのGCは、まともに動くとは思えません。 > ruby thread の切り替えが可能な pthread を一つだけに絞ったとき, > アプリケーションへの組み込み用途での ruby 利用に支障が出たりは > しないでしょうか? 支障というのは、任意のpthreadから呼び出せないということでしょう か。ならば、現在のruby threadの実装はnative threadとは非常に相 性が悪い、というしかありません。 今までは(割り込みハンドラが別スレッドで実行されるということもあっ て)Windows上でしか顕在化していなかったんですが。 -- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦