← Каталог
Java, Python и Go — циклические ссылки и gc.collect()
Python: refcount не видит цикл; модуль gc собирает замкнутый граф.
import sys
a = []
b = [a]
a.append(b) # refcount > 0 у обоих, снаружи недостижимы
del a, b
import gc
gc.collect() # разрывает цикл import sys
a = []
b = [a]
a.append(b) # refcount > 0 у обоих, снаружи недостижимы
del a, b
import gc
gc.collect() # разрывает цикл