История изменений
Исправление KivApple, (текущая версия) :
Суть GC в том, что деструкторы не нужны (посмотри на Java и Python, в первом деструкторов нет вообще, во втором как бы есть, но они не особо используются и нужны скорее для отладки или каких-то специфичных вещей). А ещё в том, что освобождение памяти из-под сложной структуры может быть очень длительной операцией (ведь уничтожение одного объекта может привести к цепной реакции в результате которой окажутся без ссылок тысячи объектов и их надо будет тоже уничтожить). Соответственно, за этим и нужна очередь приговорённых к уничтожению объектов - чтобы уничтожать их в отдельном потоке, либо в свободное время, а не тормозить текущую задачу.
Исправление KivApple, :
Суть GC в том, что деструкторы не нужны (посмотри на Java и Python, в первом деструкторов нет вообще, во втором как бы есть, но они не особо используются и нужны скорее для отладки или каких-то специфичных вещей). А ещё в том, что освобождение памяти из-под сложной структуры может быть очень длительной операцией (ведь уничтожение одного объекта может привести к цепной реакции в результате которой окажутся без ссылок тысячи объектов и их надо будет тоже уничтожить). Соответственно, за этим и нужна очередь приговорённых к уничтожению объектов - чтобы уничтожать их в отдельном потоке.
Исправление KivApple, :
Суть GC в том, что деструкторы не нужны. А ещё в том, что освобождение памяти из-под сложной структуры может быть очень длительной операцией (ведь уничтожение одного объекта может привести к цепной реакции в результате которой окажутся без ссылок тысячи объектов и их надо будет тоже уничтожить). Соответственно, за этим и нужна очередь приговорённых к уничтожению объектов - чтобы уничтожать их в отдельном потоке.
Исходная версия KivApple, :
Суть GC в том, что деструкторы не нужны. А ещё в том, что освобождение памяти из-под сложной структуры может быть очень длительной операцией. Соответственно, за этим и нужна очередь приговорённых к уничтожению объектов - чтобы уничтожать их в отдельном потоке.