Прескочи на главни садржај
🔒 Режим прегледа. Првих петнаест Foundations лекција је бесплатно; ова је Pro. Покрените 7-дневни trial да откључате едитор, AI савете и остатак курса. Картица је обавезна, можете отказати у било ком тренутку у Dashboard.Покрени 7-дневни trial →
← KurseviSenior Deep-DivesМодул 5 · Преглед архитектуре и кодаСлабе референце и финализаториpredict70 / 161
+125 XP
Zadatak
📝 **Питање:** Предвидите тачан резултат. Свака од две инстанце \`Цоннецтион\` има повратни позив \`веакреф.финализе\` који додаје \`"цлосед:<наме>"\` у дневник када је објекат ГЦ'д. Драјвер: (1) проверава дужину дневника, (2) брише ц1 + форсира ГЦ, (3) брише ц2 + форсира ГЦ. Када се повратни позиви активирају и којим редоследом? 📋 Изаберите тачан одговор. 💡 **Савет:** Поново прочитајте горњу теорију ако нисте сигурни.
Predvidi izlaz

Pažljivo pročitaj kod

import weakref
import gc

log = []


class Connection:
    def __init__(self, name):
        self.name = name


def cleanup(name):
    log.append(f"closed:{name}")


c1 = Connection("a")
c2 = Connection("b")
weakref.finalize(c1, cleanup, c1.name)
weakref.finalize(c2, cleanup, c2.name)

print(f"alive:{len(log)}")
del c1
gc.collect()
print(f"after_c1:{log}")
del c2
gc.collect()
print(f"after_c2:{log}")

Šta će program ispisati? Napiši ovde:

💬 Diskusija

Budi prvi — postavi pitanje ili podeli savet.
Prijavi se da bi se pridružio diskusiji. Čitanje je besplatno.
Učitavanje diskusije…