Concurrent Clean : CleanJ : Java : CAFとThreadLocal

昨日の続き。
CAFをスレッドごとに別のオブジェクトにするとして、java.lang.ThreadLocalを使うというアイデアもある。
でもまあ、これはダメだ。
スレッドプールを使う場合を考えると、VMの寿命とスレッドの寿命に違いが生まれるから、古いCAFがいつまでも生き残ってしまうことになる。

      • -

そういえば、昨日書き忘れたが、同じものを再計算する必要がないというメリットを得る方法、つまり、スレッド間での情報共有の方法は、別途ライブラリで与える方向がよいのではないかと思う。