names=enclose
visibility=public
kind=defined

--- enclose    -> self

自身への [[m:ThreadGroup#add]] によるスレッドの追加・削除を禁止します。
enclose された ThreadGroup に追加や削除を行うと例外 [[c:ThreadError]] が発生します。

ただし、[[m:Thread.new]] によるスレッドの追加は禁止されません。enclose されたスレッドグループ A に
属するスレッドが新たにスレッドを生成した場合、生成されたスレッドはスレッドグループ A に属します。

追加の例:

  thg = ThreadGroup.new.enclose
  thg.add Thread.new {}

  => -:2:in `add': can't move to the enclosed thread group (ThreadError)

削除の例:

  thg1 = ThreadGroup.new
  thg2 = ThreadGroup.new

  th = Thread.new {sleep 1}

  thg1.add th
  thg1.enclose
  thg2.add th

  => -:8:in `add': can't move from the enclosed thread group (ThreadError)

