From: matz@... (Yukihiro Matsumoto) Date: 2000-02-24T16:33:30+09:00 Subject: [ruby-list:21013] Re: Critical Block (Re: GPIB driver その後) まつもと ゆきひろです In message "[ruby-list:21012] Critical Block (Re: GPIB driver その後)" on 00/02/24, Hideto ISHIBASHI writes: |途中でGCやスレッドの切替えが起こらないで欲しいコードがあります。 |そのような部分を、Mutex#synchronizeのように指定できれば便利かな、 |と思いました。具体的には次のような機能が欲しいです。 いや、GCを止めるってのはそうとういろいろあることなのであまり 便利にしたくないんですよ。 |質問:スレッドの切替えを禁止する方法はありますか。 |Threadクラスのクラスメソッドにあるかと思ったんですが。 Thread.critical=true って方法があります。取扱注意。 |以下は、実行中のThreadのインスタンスを得ようとしたものです。 |p Thread.instance_variables |012345023415054321105432210543321054432105543210054321105432[] |このように、Thread.instance_variablesが空配列([])を返します。 |どこが間違っているのでしょうか。 Threadクラスオブジェクトにインスタンス変数が定義されてないか らじゃないですか? スレッドの一覧を得る方法は、1.5.xならThread.listっていうのが ありますが1.4.xではどうやるんでしたっけ? ObjectSpaceを使う のかなあ。 まつもと ゆきひろ /:|)