From: sinara@... Date: 2002-03-24T21:23:52+09:00 Subject: [ruby-dev:16574] Re: BUG? ThreadGroup 原です。 |なかだです。 | |At Sun, 24 Mar 2002 18:58:22 +0900, |sinara@blade.nagaokaut.ac.jp wrote: |> というコードで、"Bug?" が表示されるんですが、それは変ですよね。 | |> thrgr = ThreadGroup.new |> t = Thread.new{ |> foo do |f| | |ここで再帰してますから、孫スレッドのグループが変更されるまでは |子スレッドと同じグループにいるので、それがカウントされてるので |は。スレッドのブロックの中でグループを変更すれば、タイミング的 |に出なくなることが多そうです。 あ、ThreadGroup が遺伝することをすっかり忘れたいました! thrgr = ThreadGroup.new Thread.new{ thrgr.add Thread.current foo do |f| 確かにこうするとましになりますね。なかださんありがとう。 根本的解決のためには ThreadGroup#new_thread みたいなのが必要かな。