Я пытаюсь переопределить (еще раз ... знаю ...) простую сеть на питоне, состоящую из классов узлов, которые ссылаются на другие классы узлов (дети-дети), и Мне было интересно, что произойдет, если я создам рекурсивную сеть (node1 -> node2 -> node3 -> node1) и случайно потеряю все ссылки на любой из узлов.Python: утечка памяти в классах любимых узлов
Представьте У меня есть следующий код
class node():
def __init__(self):
self.children = []
def append(self, child):
self.children.append(child)
node1 = node()
node2 = node()
node1.append(node2)
node2.append(node1) # now the network is recursive
node1 = 0
# node1 is still referenced in node2.children so will not be deleted
node2 = 0
# now both node1 and node2 are not directly referenced by any variable
# but they are referenced by the two children instances
после последней строки кода, все ссылки на node1 и node2 теряются, но память первоначально выделенные узлы подоконник содержат ссылки на себя.
Будет ли уничтожен узел1 и узел2?
благодарит за информацию ... это было очень полезно! – ltrojan