In article <1102133507.339625.10453.nullmailer / x31.priv.netlab.jp>,
  Yukihiro Matsumoto <matz / ruby-lang.org> writes:

> |問題は、write が文字列に対して読み込みしか行わないのに排他的ロックを行っ
> |ていることですが、どうしたもんでしょうか?
>
> どうしたもんでしょうかねえ。カウントロックにすればよいのかも
> しれませんが、スペースが空いてませんねえ。

どう実装するかはさておき、ロックの方向性で進めるのであれば、カウンタを
つけて共有ロックというのは自然ですね。

ロックでない方向性は 2つほど思い当たります。

ひとつは、dup&freeze&klass=0 した文字列オブジェクトを使うものです。

もうひとつは、実際に書き込むところまで文字列オブジェクトで渡していくと
いうものです。

前者は、オブジェクトやメモリの確保のコストがかかりそうです。

後者は、関数のインターフェースをいくつか変えないといけなさそうです。
-- 
[田中 哲][たなか あきら][Tanaka Akira]