原です。

In message "[ruby-list:15089] Re: Thread safe eRuby"
    on 99/06/22, Yukihiro Matsumoto <matz / netlab.co.jp> writes:
|
|まつもと ゆきひろです

|そうですね。$>がスレッドローカルでないのでできないという話で
|したね。しかし、考えてみれば、1.3からはスレッドローカルデー
|タがあるので、
|
|  $> = Object.new
|  def $>.write(str)
|    unless Thread.current['defout']
|      ...initialize..
|    end
|    defout = Thread.current['defout']
|    defout.write(str)
|  end
|
|なんて手も使えるような気がして来ました。

あ、なるほど。頭が 1.3 になってないなあ。(^^;

でも、ここで本当に欲しいのはスレッドローカルではなくて、ブロック
でダイナミックスコープを持つデータというか、そういうもんですね。

でもなぜか Thread.start{yield}.value という手法で作れてしまうん
で、結局OKなわけだけど。