LINUX.ORG.RU

История изменений

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