松尾です。

# この話もそろそろ終わりにしないと。真に興味があるのは僕ぐ
# らいだから。

# ていうか、僕ももう一つ二つMLがあったほうがいいんじゃない
# かなぁ、と思ってました。例えば「Rubyコミュニティのメンバ
# が今興味のある話をする場」みたいな。


From: Inaba Hiroto <inaba / sdd.tokyo-sc.toshiba.co.jp>

> 個人的には逆に, 松尾さんのおっしゃるような仕様がスレッドのデフォルトに
> なったら気になります. スレッドというのは基本的には他人は気にせずに自律
> 的に生きつづけるものだと思うので.

ふむ。

でもRubyではmain threadを特別扱いしてますよね。この辺どう
考えましょう?

=begin
プログラムの開始と同時に生成されるスレッドをmain threadと
呼びます.なんらかの理由でmain threadが終了する時には,他
の全てのスレッドもプログラム全体も終了します.ユーザから
の割込みによって発生した例外はmain threadに送られます.
=end

単にmain threadが特別扱いって解釈でもいいんですが、スレッ
ド間に参照というか親子関係があるモデルでも、ある程度うまく
説明できますよね。

もちろん真に自律的にするという選択肢もあると思います。main
threadが終了しても他のスレッドは生き続けるみたいな。


From: matz / netlab.co.jp (Yukihiro Matsumoto)

> お気を付けて.でも,親プロセスが子プロセスの面倒を見なくても
> (たとえ死んでも),子供は生き続けるのから類推すると,参照しな
> くなっただけで死んでしまうのも気持ち悪いです.

それはモデルが違いすぎる気がします。或いは昔からそうだった
から、そういうものだと思ってしまっている、とか。

--

お仕事的には問題は解決したのでそれでよしとしなければ…。