|
|
>>>И к сборке мусора, потому что без сборки мусора их программировать крайне трудно, да и использовение ref.counts убивает сам смысл затеи - ибо структура оказывается мутирующей из-за этих самых счетчиков.
Тут я бы поспорил: а) использование везде смартпойнтеров, скрывающих рефкаунт-возню, действительно здорово упрощает программирование конкретной прикладной задачи (сами смартпойнтеры аккуратно запрограммировать -- это труд, но он делается один раз и можно взять уже запрограммированные, как ты в этом примере) и б) плохие рэйс кондишены возникают из-за логической мутируемости структуры. "Физическая" мутируемость из-за рефкаунтов логическую мутируемость не ломает, проблемы не создаёт. Кстати не понял про необходимость мьютексов -- под виндой я пользуюсь вроде бы более лёгкими InterlockedIncrement / Decrement, такого в Линуксе что ли нет?
(Читать комментарии) Добавить комментарий:
|
|