LINUX.ORG.RU

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

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

Например можно хранить weak ссылку на объект в некотором реестре (а-ля «все открытые файлы»), в котором периодически проверять ассоциированным с ним cleanup thread(-ами) что ссылка жива и что например тот же файл не держит еще один объект и закрытием его в «деструкторе» одного мы не поставим в неловкое положение другой объект, ожидающий что файл-то точно его и открыт. Если умрет и владение было эксклюзивным - освобождать ресурс. Но это в самом крайнем случае - в 95% случаев условного try with resources хватит с головой

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

Например можно хранить weak ссылку на объект в некотором реестре (а-ля «все открытые файлы»), в котором периодически проверять ассоциированным с ним cleanup thread(-ами) что ссылка жива и что например тот же файл не держит еще один объект и закрытием его в «деструкторе» одного мы не поставим в неловкое положение другой объект, ожидающий что файл-то точно его и открыт. Если умрет и владение было эксклюзивным - освобождать ресурс. Но это в самом крайнем случае если объект совсем уж никак не получается отделить от ресурса. А в 95% случаев условного try with resources хватит с головой