[#30408] Ruby 1.8.6 preview2 has been released — "Akinori MUSHA" <knu@...>

 Ruby 1.8.6 preview2 をリリースしました。

20 messages 2007/02/24
[#30414] fail to autoload at $SAFE==4 (Re: Ruby 1.8.6 preview2 has been released) — Hidetoshi NAGAI <nagai@...> 2007/02/25

永井@知能.九工大です.

[#30418] Re: fail to autoload at $SAFE==4 (Re: Ruby 1.8.6 preview2 has been released) — Nobuyoshi Nakada <nobu@...> 2007/02/25

なかだです。

[ruby-dev:30258] Re: YARV の thread について

From: Hidetoshi NAGAI <nagai@...>
Date: 2007-02-05 02:05:56 UTC
List: ruby-dev #30258
永井@知能.九工大です.

回答をありがとうございます.

From: SASADA Koichi <[email protected]>
Subject: [ruby-dev:30256] Re: YARV の thread について
Date: Mon, 5 Feb 2007 05:03:36 +0900
Message-ID: <[email protected]>
> > コンパイル時に,指定された Thread model がどれであるかを
> > 判定するマクロ定数は用意されますか?
> > できればスクリプトからも Thread model の確認ができた方が
> > 嬉しいのですが...
> 
>  ちょっと考えてみます.が,いちいちスレッドモデルを気にしないといけない
> のは大変そうですね.なんか統一的な解決があればいいんですが.

気にしているのはイベントループからの切り替えタイミングの制御です.

model 2 では明示的に切り替えてやらないといけないですが,
伺った話に基づくと,あまりに頻繁に切り替えるとレスポンスが
悪くなりそうですので,少し工夫が求められそうです.

それに対して model 3 ではそうした制御は単なる無駄で,
「いつ切り替わるかわからない」という前提での対応が必要です.

で,「モデルの確認ができた方が嬉しいな」と.

もちろん当座は model 2 前提にしておけばいいんですが,
将来の model 3 の実装時には現在検討していることを
きっと忘れてしまっているでしょうから (^_^;,
対応できそうならいっそのこと一気にというわけです.

>  tcl/tk を良く知らないで言うんですが,完全に対応させるのはどちらも不幸
> な気がします.

考えてみてはいるんですがうまい手が思いつかなくて...
何らかの制限は付けざるをえないかもしれません.

> > YARV では rb_thread_schedule() の呼び出しだけで十分で,
> > 割り込み処理の方は気にしなくても良いのでしょうか?
> 
>  割り込み処理を起こすようにしてあったような.

これくらいは自分でチェックすれば良いことですよね.ごめんなさい.

> > 従来ほどには気にする必要はないけれども,Thread model 2 の場合は,
> > 念のために調整パラメータは用意しておいた方が良いということのようですね.
> 
>  なんのパラメータですか?

説明不足でした.
上記のようなイベントループからの切り替えタイミング制御のための
調整パラメータの話でした.
ですので,YARV 側でどうのという話ではありません.
まぎらわしくてすみません.

> [ruby-dev:30253] Re: YARV の thread について
> >>  あんまり対策は考えていないんですが、そういう API を用意することは可能
> >> > です。その際は、ちょっと面倒な制約が入るかもしれません。
> > 
> > 逆に Ruby を呼ぶことが *できない* ような native thread であるかを
> > チェックするための公式な方法はありませんか?
> > 必要もないのに native thread をまたぐのは無駄ですので,
> > 低コストでチェック可能なら,それを利用する方が望ましいと思いまして.
> 
>  うーん.端的に言うと無理じゃないかと思います.

無理ですか.
native thread ID と Thread オブジェクトとの間での
対応表のようなものでもあればできるかなと思ったのですが,
仕方ないですね.
その前提で考えることにします.

ありがとうございました.
-- 
                                       永井 秀利 (九工大 知能情報)
                                           [email protected]

In This Thread