История изменений
Исправление
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<>, и нету сборщика мусора который запускается периодически, и все объекты удаляются в тот самый момент когда становится известно что они больше не нужны, нету отложенной очистки.