Почему эта система GC плохая? - PullRequest
1 голос
/ 02 апреля 2011

Я подумал о GC, с которым не вижу серьезных недостатков, и мне интересно, почему он не используется более широко, или почему я не слышал о его использовании.

Система:

  • Все объекты имеют 4-байтовый беззнаковый счетчик int, прикрепленный к ним. (Может быть 2 байта, я не знаю.
  • Всякий раз, когда объект создается, его счетчик начинается с 1.
  • Когда объект отправляется функции в качестве параметра, его счетчик увеличивается.
  • Когда объект достигает точки, где он больше не используется в функции (это может быть самый конец области видимости), его счетчик уменьшается.
  • Когда счетчик объекта достигает нуля, он удаляется, так как ни на одной позиции в коде нет ссылок.

Есть ли дополнительный случай, в котором счетчик выходит из строя? Каковы недостатки и преимущества?

Заранее благодарю за помощь.

1 Ответ

7 голосов
/ 02 апреля 2011

Это называется подсчет ссылок. Я бы посоветовал прочитать статью в Википедии, так как она охватывает преимущества и недостатки.

...