Что такое устаревшее состояние?

Я читал о шаблоне пула объектов в Википедии (http://en.wikipedia.org/wiki/Object_pool), и в нем упоминается "опасно устаревшее состояние".

Что такое состояние "застоя"? Я знаю, что состояние - это переменные/данные, такие как мои поля и свойства, но что это значит: устаревшие или опасно устаревшие?

Ответ 1

Состояние устаревания - это информация в объекте, который не отражает реальность.

Пример: члены объекта заполнены информацией из базы данных, но базовые данные в базе данных изменились с момента заполнения объекта.

Опасно устаревшее состояние является устаревшим состоянием, которое может неблагоприятно повлиять на работу программы, то есть заставляя его выполнять неправильно из-за недопустимых предположений о целостности данных.

Ответ 2

Это происходит, когда значение, хранящееся в объекте, больше не отражает базовое постоянное значение. Я думаю, опасно устаревший - это просто способ сказать, что значение действительно устарело.

Ответ 3

"Состояние устаревания" - это когда объект, сохраненный (кэшированный) вид остальной системы, устарел. Например, объект держит дескриптор некоторого другого объекта, но второй объект был удален тем временем.

Попытка разыменовать устаревший дескриптор может привести к большим проблемам.

Большинство систем будут пытаться автоматически защищать вас от разных причин, чтобы закончиться устаревшим состоянием, но не всегда возможно охватить все случаи. (В зависимости от системы.)

Larry

Ответ 4

В основном это означает недопустимое состояние. Обычно это побочный продукт, не уведомляющий ваши случаи изменения состояния.