つまり、Python Essential Reference、4ed。言う:
a = {}
b = {}
a['b'] = b
b['a'] = a
del a
del b
メモリリークが発生し、インタプリタはaとbを削除するために循環検出アルゴリズムを必要とします。ただし、refcountがどのようになっているのかを調べようとすると、最終的にaとbのrefcountが両方ともゼロになるため、循環検出アルゴリズムは必要ありません。好き:
a = {}
b = {}
refcounts:a = 1、b = 1
a['b'] = b
b['a'] = a
refcounts:a = 2、b = 2
del a
refcounts:b ['a'] = 1、b = 1
del b
refcounts:a = 0、b = 0
refcountsの私の理解の何が問題になっていますか?