ささだです.

 非同期例外どうやって処理を遅延させようかと考えいて,疑問にあたったので
質問させて下さい.

質問:
 Thread#kill,および exit したとき他のスレッドを cancel させる割り込み
は,当該スレッドに例外を飛ばすのではなく,いわば特殊な object を throw
をしているようなのですが,どうしてそうなんでしたっけ.たとえば,それぞれ
ThreadKilledException とか ThreadCancelException を飛ばしても良さそうな
気はするのですが.

 rescue させたくないから?


質問の背景:
 "[ruby-dev:45816] Re: 非同期割り込みに対する対処案(日本語版)" で書き
直した,akr さん提案の API は,ある例外クラスでのスレッドの割り込みを遅
延させます.しかし,上記の非同期割り込みは,例外ではないため,割り込みを
禁止することが出来ません.

さらに突っ込んだ質問:
 上記 2 つの割り込みは,これらの API で遅延出来なくてもいいものでしょうか.


-- 
// SASADA Koichi at atdot dot net