LINUX.ORG.RU

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

Исправление MOPKOBKA, (текущая версия) :

Так спинлоки тут не помогут, вот я вызову из треда #1 свой element_free(), и он будет крутить спинлок еще 10 дней, пока тред #2 использует эти данные.

А трассирующий GC в отдельном потоке, просто идет от корня и записывает все элементы которые найдет, а потом удаляет все элементы которые не были записаны в его список. Это просто, и производительно.

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

Исходная версия MOPKOBKA, :

Так спинлоки тут не помогут, вот я вызову из треда #1 свой element_free(), и он будет крутить спинлок еще 10 дней, пока тред #2 использует эти данные.

А трассирующий GC в отдельном потоке, просто идет от корня и записывает все элементы которые найдет, а потом удаляет все элементы которые не были записаны в его список. Это просто, и производительно.