История изменений
Исправление Iron_Bug, (текущая версия) :
ну а ты как хотел? если у тебя объект используется в разных потоках и ты хочешь неблокирующее освобождение, то делай счётчики. счётчик уменьшился и всё. а потом, когда второй поток отпустит объект и счётчик упадёт до нуля, объект освобождён. и ничего не надо делать дополнительно. но уменьшение счётчика само по себе должно быть потокобезопасным, конечно. однако это уже не приведёт к застреванию потоков. есть даже атомики на этот счёт. можно их притянуть. но всё равно это будет синхронизация, явная или нет.
Исходная версия Iron_Bug, :
ну а ты как хотел? если у тебя объект используется в разных потоках и ты хочешь неблокирующее освобождение, то делай счётчики. счётчик уменьшился и всё. а потом, когда второй поток отпустит объект и счётчик упадёт до нуля, объект освобождён. и ничего не надо делать дополнительно. но уменьшение счётчика само по себе должно быть потокобезопасным, конечно. однако это уже не приведёт к застреванию потоков.