From: keiju@... (=?ISO-2022-JP?B?GyRCQFBETTc9PHkbKEI=?= ) Date: 1998-04-13T16:21:59+09:00 Subject: [ruby-dev:2280] Re: [Problem] thread and signal and sleep けいじゅ@日本ラショナルソフトウェアです. In [ruby-dev :2278 ] the message: "[ruby-dev:2278] Re: [Problem] thread and signal and sleep ", on Apr/13 15:23(JST) Yukihiro Matsumoto writes: >まつもと ゆきひろです >|不定なんですか. もうちょっと仮定して良いことはないですか? >| >|例えば, シグナルが発生した時, 実際にカレントだったのスレッドが受けとる >|とか... > >それは成立してます.でも,シグナルが発生する瞬間のカレントス >レッドを予想するのは非常に困難なので,不定と事実上変らない気 >がします. でも, さっきの例だと, 2つのスレッドがあって1つはstopしていて, もう1つ がsleepしていてカレントスレッドがない状態ですよね? その場合はどのよう にスレッドを選ぶんですか? きっと, main_threadが受けていますよね? この 時最後のカレントスレッドがシグナルを受けとれると, 非常に嬉しいんですけ ど... # irbはカレントスレッド(というかstopしていないスレッド)が受けとるって # 前提でコーディングしてあるんです. >|仕様変更になりますが, 不定だと扱いづらいので, シグナルは必ず >|main_threadが受けとるという方が良いような気もしますね. > >実装してみたら簡単だったので,そういう仕様が望ましいというと >こであれば,そういう仕様に出来ます. うーん. これがですね.... 今のirbなんかはmain_threadが必ず受けるという ふうになるとかなりの仕様変更になっちゃうんですよね(^^;;; でも, ちゃんとマルチスレッドで例外を管理するには, 必ずmain_threadが受 けるとなっている方が楽でしょうから, Thread.abort_on_exception見たく選 べると良いですね. __ ................................石塚 圭樹@日本ラショナルソフトェア... ----------------------------------->> e-mail: keiju@rational.com <<---