История изменений
Исправление MOPKOBKA, (текущая версия) :
Если ты уже разобрался с Rc<> в Rust, то наверное знаешь что там просто стоит счетчик объектов которые используют ресурс. Если 0 объектов используют ресурс, то он удаляется.
В Python и 1С GC построен как раз построен так, там просто все объекты обернуты в Rc<>, и нету сборщика мусора который запускается периодически, и все объекты удаляются в тот самый момент когда становится известно что они больше не нужны, нету отложенной очистки.
А это значит что сборщик мусора не обязательно должен быть каким то сторонним процессом который проходится непонятно когда, его может и не быть как стороннего процесса вообще. Просто добавляем счетчик u32 к каждому объекту.
Исправление MOPKOBKA, :
Если ты уже разобрался с Rc<> в Rust, то наверное знаешь что там просто стоит счетчик объектов которые используют ресурс. Если 0 объектов используют ресурс, то он удаляется.
В Python и 1С GC построен как раз построен так, там просто все объекты обернуты в Rc<>, и нету сборщика мусора который запускается периодически, и все объекты удаляются в тот самый момент когда становится известно что они больше не нужны, нету отложенной очистки.
А это значит что сборщик мусора не обязательно должен быть каким то сторонним процессом который проходится непонятно когда, его может и не быть как стороннего процесса вообще.
Исходная версия MOPKOBKA, :
Если ты уже разобрался с Rc<> в Rust, то наверное знаешь что там просто стоит счетчик объектов которые используют ресурс. Если 0 объектов используют ресурс, то он удаляется.
В Python и 1С GC построен как раз построен так, там просто все объекты обернуты в Rc<>, и нету сборщика мусора который запускается периодически, и все объекты удаляются в тот самый момент когда становится известно что они больше не нужны, нету отложенной очистки.