18.6 考慮すべき点
参照カウント法が直面する問題
オブジェクトグラフの並行的変更にたいして参照カウントが正しいことをどう保証するか
最も単純な解決法
ミューテータがオブジェクトを変更するまえにロックする
現在の解決法
ミューテータ間の競合を避ける
メモリマネージャはヒープのコンシステンシを保つことだけに関与する
ユーザーのプログラムの正しさを壊すかどうかに関心はない
一貫性を保つためにポインタの書き込みと参照カウント操作を逐次化する
参照カウント処理とオブジェクト回収をポインタ書き込みから分離する
延期型参照カウント法
ゴミ回収を延期して仕事を単独のコレクタへ委譲する
併合型参照カウント法
オブジェクトが変更されるまえのスナップショットを撮る
並行循環参照カウント法も簡単化される
動的メモリ構造を使う際のメモリの安全な回収に関する文献
ABA防止タグ(ABA-prevention tag)
Michael and Scott(1995)
Herlihy et al.(2002)
Read-Copy-Update手法(McKenney and Slingwine, 1998)
ハザードポインタ(hazard pointer) (Michael, 2004)
告示(announcement)方式(Sundell, 2005)