Я пытаюсь понять, как сборщик мусора Python обнаруживает круговые ссылки. Когда я смотрю на документацию, все, что я вижу, это утверждение о том, что обнаружены циклические ссылки, за исключением случаев, когда задействованные объекты имеют метод __del__
.
Если это произойдет, мое понимание (возможно, ошибочное) заключается в том, что модуль gc действует как отказоустойчивый (я предполагаю), проходя через всю выделенную память и освобождая любые недоступные блоки.
Как Python обнаруживает и освобождает ссылки на циркулярную память перед использованием модуля gc?